这类汇总总是让我着迷。我妻子会花几个小时浏览 Zillow 上房屋内部的照片,因为她喜欢看不同的人如何装饰、风水或其他什么。那是她的小小窥探欲。而我呢?我很容易沉迷于开发者随手可得的 CSS 代码片段。
Alvaro 很友好地 分享了他最可靠的 CSS 代码
- 限制内容在视口内的宽度
- 增大正文文字大小
- 增加文本行之间的间距
- 限制图像宽度
- 限制内容内文本的宽度
- 以更平衡的方式包裹标题
- 表单控件颜色与页面样式匹配
- 易于理解的表格行
- 表格单元格和标题中的间距
- 减少动画和移动效果
我没有在这里直接贴出代码片段(值得 阅读完整文章 获取代码)。但我确实有一些自己的代码片段想补充。就像 Alvaro 在他的列表开头所说的那样,并非所有这些都适用于每个项目。
全局 border-box 大小
这里 无需解释。它通常是 Web 上任何给定样式表中声明的第一件事。
*, *::before, *::after {
box-sizing: border-box;
}
我猜 Alvaro 也使用这个,也许它太明显了,不值得列出来。或者,它更像是一个 DX 增强,属于重置而非提升网站本身。
系统字体
Web 上的默认文本太……太……太普通了。我很高兴 Alvaro 同意 16px
作为 Web 上默认的文本 font-size
太小了。我更进一步,也取消了 Times New Roman 的默认字体。我相信有些网站仍在使用它(我自己的个人网站也用了好几年,作为一种极简主义的做法),但如今我个人更倾向于使用操作系统默认的字体。
body {
font-family: system-ui;
}
我们可以更明确一点,回退到默认的衬线或非衬线字体。
body {
font-family: system-ui, sans-serif;
}
当然,有 更强大得多的方法,但这基础方法对于几乎任何网站来说都是一个不错的起点。
<body>
中去除水平溢出
从 哦,天哪,我永远不会犯这种错误。😝
但是假设我犯了——这是一个很大的假设——我喜欢防止它影响访客的滚动体验。一旦 <body>
的内在宽度超出视口,就会出现水平滚动,如果它是故意的,这可能是一件很酷的事情,但如果不是,那就不是很好。
body {
overflow-x: hidden;
}
我将使用它作为防御机制,但绝不希望将其作为解决 内容溢出可能导致的数据丢失 的实际解决方案。这仅仅掩盖了问题,同时提供了修复根本原因的机会,而无需访客处理渲染结果。
<body>
一些呼吸空间
给 不多不少,但就像小熊维尼最喜欢的粥一样,恰到好处 的空间,以防止内容紧贴边缘。
body {
padding-block: 15px;
}
关于:全局 border-box 大小 我更喜欢使用
这样,您可以在必要时或由第三方覆盖
border-box
。这不是我的主意,我忘记在哪里第一次看到的,但我认为它是一个稍微更好的解决方案。可能是从这里?
我应该一劳永逸地更改我的“响应式图像”单行代码吗?从
img { width:100%; height:auto; }
到
img { max-width:100%; }