Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[译]我的自定义 CSS 重置 #23

Open
YutHelloWorld opened this issue Jan 14, 2022 · 0 comments
Open

[译]我的自定义 CSS 重置 #23

YutHelloWorld opened this issue Jan 14, 2022 · 0 comments

Comments

@YutHelloWorld
Copy link
Owner

原文:https://www.joshwcomeau.com/css/custom-css-reset/

每当我开始一个新项目时,首要任务就是打磨 CSS 语言中的一些粗糙边缘。我使用一组功能性的自定义基线样式来做到这一点。

很长一段时间,我使用 Eric Meyer 著名的CSS Reset。这是 一大块CSS代码,但它有点长;它已经十多年没有更新了,从那以后CSS发生了很多变化!

最近,我一直在使用自己的自定义 CSS 重置。它包括我发现的所有改善用户体验和 CSS 创作体验的小技巧。

像其他 CSS 重置一样,它在设计/样式方面是无主见的。无论您追求何种美感,您都可以将此重置用于任何项目。

在本教程中,我们将参观我的自定义 CSS 重置。我们将深入研究每条规则,您将了解它的作用以及您可能想要使用它的原因!

CSS 重置

事不宜迟,下面是代码:

/*
  1. 使用更直观的 box-sizing 模型
*/
*, *::before, *::after {
  box-sizing: border-box;
}
/*
  2. 删除默认边距
*/
* {
  margin: 0;
}
/*
  3. 在应用程序中允许基于百分比的高度
*/
html, body {
  height: 100%;
}
/*
   排版调整!
  4.添加可访问的行高
  5. 改善文字渲染
*/
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/*
  6. 修改媒体默认值
*/
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
/*
  7. 删除内置表单的排版样式
*/
input, button, textarea, select {
  font: inherit;
}
/*
  8. 避免文本溢出
*/
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
/*
  9. 创建根堆叠上下文
*/
#root, #__next {
  isolation: isolate;
}

它相对较短,但是这个小样式表中包含了很多东西。让我们开始吧!

一个迂腐的笔记
从历史上看,CSS 重置的主要目标是确保浏览器之间的一致性,并撤消所有默认样式,创建一个空白板。我的 CSS 重置并没有真正做这些事情。

如今,浏览器在布局或间距方面并没有太大的差异。总的来说,浏览器忠实地实现了 CSS 规范,并且一切都如你所愿。所以不再那么需要了。

我也不认为有必要去除所有浏览器默认设置。例如,我可能确实希望<em>设置标签font-style: italic!我总是可以在各个项目风格中做出不同的设计决策,但我认为剥离常识默认值没有意义。

我的 CSS 重置可能不符合“CSS 重置”的经典定义,但保证了创造性和自由性。

1. 盒子尺寸模型

未完。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant