更改浏览器默认样式
更改浏览器默认样式
决明/* 1. Use a more-intuitive box-sizing model */ |
接下来每条来解释为什么这样做
-
盒模型
-
去除默认边距
默认情况下, h1 将比段落包含更多的边距。 -
添加可访问的行高
line-height
控制段落中每行文本之间的垂直间距。默认值因浏览器而异,但通常在 1.2 左右。 -
改进文本渲染
这个有点争议。
在 2018 年发布的macOS Mojave
中,Apple
禁用了整个操作系统的子像素抗锯齿功能。 令人困惑的是,Chrome
和Safari
等 macOS 浏览器默认情况下仍然使用子像素抗锯齿。我们需要通过将-webkit-font-smoothing
设置为antialiased
来显式关闭它。
macOS 是唯一使用子像素抗锯齿的操作系统,因此此规则对 Windows、Linux 或移动设备没有影响。 -
改进媒体默认设置
图像被认为是“内联”元素。这与我们大多数时候使用图像的方式并不相符。通常,对待图像的方式与对待段落、标题或侧边栏的方式相同;它们是布局元素 -
继承表单控件的字体
这是另一个奇怪的事情:默认情况下,按钮和输入不会从其父级继承样式。相反,他们有自己奇怪的风格。 -
避免文本溢出
在 CSS 中,如果没有足够的空间容纳单行上的所有字符,文本将自动换行。如果一行没有任何软换行机会,并且不适合,则会导致文本溢出: -
改善换行
当单行文本中的单词过多时,默认行为是将不适合的单词推送到下一行。重复此过程,直到没有任何行溢出:
对于段落,我使用 pretty 选项。该算法将确保文本的最后一行至少有两个单词。它还进行了其他细微的调整以改善段落的视觉平衡:
对于标题,我使用 balance 选项。这具有更强的效果;该算法试图使每行文本的长度大致相同。这往往会让两行标题感觉更加平衡。 -
根堆叠上下文
最后一项是可选的。通常只有当您使用像React
这样的 JS 框架时才需要它。
isolation
属性允许我们创建一个新的堆栈上下文,而无需设置 z-index 。
这是有益的,因为它允许我们保证某些高优先级元素(模式、下拉菜单、工具提示)始终显示在应用程序中的其他元素之上。没有奇怪的堆叠上下文错误,没有z-index
军备竞赛。
您应该调整选择器以匹配您的框架。我们想要选择您的应用程序在其中呈现的顶级元素。例如,create-react-app
使用