|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 中英文泡椒 于 2026-8-14 18:22 编辑
1. 使用 CSS Reset
使用 normalize.css 或简单的重置规则来抹平不同浏览器之间的默认样式差异。
2. 继承 box-sizing
从 html 继承 box-sizing: border-box,这样在修改第三方组件样式时会更方便。
- html { box-sizing: border-box; }
- *, *::before, *::after { box-sizing: inherit; }
复制代码
3. 使用 unset 替代重置所有属性
当你想重置一个元素的所有样式时,不必列出每个属性,使用 all: unset 即可。
4. 使用 :not() 简化列表边框
不再需要为最后一个元素单独写 border-bottom: none。
- .nav li:not(:last-child) { border-bottom: 1px solid #ccc; }
复制代码
5. 检查本地字体是否已安装
在 src 中优先使用 local(),避免下载已有的字体。
- @font-face {
- font-family: 'MyFont';
- src: local('MyFont'), url('myfont.woff2') format('woff2');
- }
复制代码
6. 为 body 添加 line-height
不要给每个 p 或 h1 单独加行高,直接在 body 上统一设置,增强可读性。
7. 垂直居中一切 (Flexbox)
利用 Flexbox 简单的两行代码即可实现水平垂直居中。
- .container { display: flex; align-items: center; justify-content: center; }
复制代码
8. 逗号分隔列表
使用伪类为列表项动态添加逗号,且最后一个项不显示。
- ul li:not(:last-child)::after { content: ","; }
复制代码
9. 使用负值 nth-child 选择元素
如果你想选择前 n 个元素(例如前 3 个):
- li:nth-child(-n+3) { color: red; }
复制代码
10. 使用 SVG 图标
SVG 在任何分辨率下都保持清晰,且文件体积小,易于通过 CSS 控制(如 fill 颜色)。
11. “空洞的猫头鹰”选择器 (* + *)
为所有跟随在另一个元素后面的元素添加边距,非常适合控制内容间距。
- .content * + * { margin-top: 1.5em; }
复制代码
12. 使用 max-height 实现纯 CSS 手风琴
利用 max-height 和 transition 实现平滑的折叠效果(比 display: none 更好)。
13. 使表格单元格等宽
使用 table-layout: fixed 让表格列宽平均分配。
- table { table-layout: fixed; }
复制代码
14. 使用属性选择器处理空链接
为没有 href 或 href 为空的 <a> 标签添加特殊样式。
- a[href^="javascript:"]:after, a[href^="#"]:after { content: " (empty link)"; }
复制代码
15. 样式化“默认”链接
使用 :any-link 伪类快速设置所有未访问和已访问链接的样式。
16. 保持图像比例 (Intrinsic Ratio)
使用 aspect-ratio 属性(现代浏览器)或传统的百分比 padding 技巧。
- img { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; }
复制代码
17. 样式化损坏的图像
利用伪元素在图片加载失败(显示破裂图标)时提供更优雅的反馈。
- img:before { content: "We're sorry, the image is broken"; display: block; }
复制代码
18. 使用 rem 设置字号,em 设置间距
rem 保证了全局一致性,而 em 让间距相对于字体大小缩放。
19. 自动播放静音视频
在移动端,视频必须设置 muted 属性才能触发 autoplay。
20. 使用 :root 实现响应式字体
利用 CSS 变量和 calc 在 :root 下定义字体,随屏幕宽度平滑变化。
- :root { font-size: calc(1vw + 1vh + 0.5vmin); }
复制代码
21. 样式化 <input type="range">
通过 ::webkit-slider-runnable-track 等伪元素来自定义滑动条样式。
22. 统一表单控件样式
使用 appearance: none 移除系统默认样式,从而实现完全自定义的按钮和输入框。
23. 避免使用 !important
尽量通过提高选择器权重(Specificity)来覆盖样式,而不是滥用 !important。
24. 使用 object-fit
让图片像背景图一样填充容器,而不被拉伸变形。
- img { width: 200px; height: 200px; object-fit: cover; }
复制代码
25. 使用 pointer-events: none 禁用点击
可以穿透覆盖层点击到底部的元素,或暂时禁用按钮点击。
26. 禁用文本选择
在 UI 按钮或图标上使用 user-select: none,防止用户误选中文字。
27. 使用 scroll-behavior: smooth
无需 JavaScript,只需一行 CSS 即可实现锚点跳转时的平滑滚动。
- html { scroll-behavior: smooth; }
复制代码
28. 使用 CSS 变量
减少重复代码,方便实现主题切换(如深色模式)。
- :root { --main-color: #ff0000; }
- .button { color: var(--main-color); }
复制代码
29. 使用 :where() 和 :is()
使用 :is() 简化复杂的选择器,使用 :where() 降低选择器权重。
- /* 简化 */
- :is(h1, h2, h3) { margin-bottom: 1rem; }
复制代码
|
评分
-
查看全部评分
|