14个CSS实用技巧,少写几百行代码

更新日期: 2026-04-30 阅读: 8 标签: 技巧

做网页的时候,很多效果我们总想着用JavaScript去实现。其实CSS早就有了更好的办法。下面这14个技巧,能帮你省掉很多重复代码。


一、布局调整

1. gap属性管理间距

以前我们给列表项加间距,总要这么写:

.item + .item {
  margin-left: 16px;
}

还得处理最后一个元素,挺麻烦的。

现在用flex或grid布局时,直接加一行就行:

.container {
  display: flex;
  gap: 16px;
}

gap会自动处理好所有子元素之间的间距,不用再写那些多余代码。

2. 一行搞定居中

以前让一个元素居中,要写两行:

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

现在用grid布局,一行就够了:

.parent {
  display: grid;
  place-items: center;
}

这个写法适合大多数居中场景。

3. 响应式字体不用写媒体查询

以前为了手机和电脑显示不同大小的字,要写好几段代码:

.title { font-size: 24px; }
@media (max-width: 768px) { .title { font-size: 18px; } }
@media (max-width: 480px) { .title { font-size: 14px; } }

现在用clamp函数一行就够:

.title {
  font-size: clamp(14px, 3vw, 24px);
}

clamp(最小值, 首选值, 最大值)会根据屏幕宽度自动调整字体大小。


二、文字处理

4. 多行文本截断

显示多行文字后加省略号,以前很多人用JS去算。现在三行CSS就搞定:

.text-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

把3改成你想显示的行数就行。

5. 标题折行更美观

标题折行时,经常出现最后一行只剩一两个字的情况。加一行代码就能让浏览器自动均衡每行的字数:

h1, h2, h3 {
  text-wrap: balance;
}

标题看起来舒服很多。

6. 竖排文字

以前用旋转的方法做竖排文字,还要调宽高位置。现在直接用writing-mode:

.vertical-text {
  writing-mode: vertical-rl;
}

文字自动竖排,不用管其他样式。


三、视觉效果

7. 毛玻璃效果

做毛玻璃卡片不用切图,两行CSS代码:

.glass-card {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px);
  border-radius: 16px;
}

加个边框效果更好:

.glass-card {
  border: 1px solid rgba(255, 255, 255, 0.3);
}

8. 渐变边框

以前做渐变边框要套两层div,现在一个元素就能搞定:

.gradient-border {
  border: 3px solid transparent;
  background-clip: padding-box;
  background-image: linear-gradient(white, white),
                    linear-gradient(135deg, #6366f1, #ec4899);
  background-origin: border-box;
}

9. 文字反色融合

让文字根据背景颜色自动反色:

.blend-text {
  color: white;
  mix-blend-mode: difference;
}

滚动时文字颜色会跟着背景变化,效果很特别。


四、交互动效

10. 父元素选择器

以前输入框获得焦点时,想给父元素加样式要用JS监听。现在用:has()直接就能选:

.form-group:has(input:focus) {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}

不需要写任何JS代码。

11. 元素出现动画

弹窗出来时的动画效果,以前要等元素渲染后再加class。现在用@starting-style提前定义:

.dialog {
  opacity: 1;
  transform: translateY(0);
}
@starting-style {
  .dialog {
    opacity: 0;
    transform: translateY(-20px);
  }
}

元素第一次出现时就会自动执行动画。


五、其他实用技巧

12. 平滑滚动加锚点偏移

点击锚点链接时,页面平滑滚动,而且不会被顶部导航栏挡住:

html {
  scroll-behavior: smooth;
}
.section {
  scroll-margin-top: 80px;
}

80px改成你导航栏的高度就行。

13. 统一表单控件颜色

让checkbox、radio、进度条等表单控件都变成你的品牌色:

:root {
  accent-color: #6366f1;
}

一行代码全改完。

14. 支持系统深色模式

让网页自动跟随系统切换深色模式:

:root {
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f172a;
    --text: #f1f5f9;
  }
}

配合CSS变量,深色浅色模式都能自动适配。


总结

现在CSS能做很多以前只能用JS实现的效果。这些技巧学完就能用,不用装任何库,也不用担心兼容问题。写代码的时候多想想,说不定三行CSS就能解决的事,不用写几十行JS。

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/13737

相关推荐

20个让你效率更高的CSS代码技巧

在本文中,我们想与您分享一个由各大CSS网站总结推荐的20个有用的规则和实践经验集合。有一些是面向CSS初学者的,有一些知识点是进阶型的。希望每个人通过这篇文章都能学到对自己有用的知识

微信小程序分享到朋友圈方法与技巧

小程序提供onShareAppMessage 函数,此函数只支持分享给我微信朋友,小程序如何分享到朋友圈呢?使用canvas绘制一张图片,并用wx.previewImage预览图片,然后长按图片保存图片到手机。

小技巧:检查你本地及公共 IP 地址

本地的 IP 地址是分配给你计算机上的内部硬件或虚拟网卡的本地/私有 IP 地址。根据你的 LAN 配置,上述 IP 地址可能是静态或动态的。公共的 IP 地址是你的 Internet 服务提供商(ISP)为你分配的公共/外部 IP 地址。

前端新手程序员不知道的 20个小技巧

前端新手程序员不知道的 20个小技巧:作为前端开发者,使用双显示器能大幅提高开发效率、学编程最好的语言不是PHP,是English、东西交付之前偷偷测试一遍、问别人之前最好先自己百度,google一下、把觉得不靠谱的需求放到最后做,很可能到时候需求就变了...

12 个 CSS 高级技巧汇总

使用 :not() 在菜单上应用/取消应用边框;给body添加行高;所有一切都垂直居中;逗号分隔的列表;使用负的 nth-child 选择项目;对图标使用SVG;优化显示文本;对纯CSS滑块使用 max-height;继承 box-sizing

探讨Js奇技淫巧

Js 是一门灵活的语言(手动滑稽)。应该多学习一些奇技淫巧,因为很多奇技淫巧往往代表一些混合的知识,往往会有一些新奇的思考与体验(怎么我想不出来?)

提高网站加载速度的一些小技巧

为你网站的用户留下良好的第一印象是非常必要的。随着商业领域的竞争,拥有一个吸引人的网站可以帮助你脱颖而出。研究表明,如果加载时间超过3秒,会有 40% 的用户放弃访问你的网站

去除桌面快捷方式上的小箭头

电脑桌面上默认快捷方式左下角是有个小箭头的。很多用户可能不习惯快捷方式小箭头。那怎么去掉呢?新建一个TXT文档(文档的名称自己顺便命名即可),然后把下面的这些英文全部复制到TXT文档内保存。把TXT文档的扩展名改成 .bat

微信小程序技巧_你需要知道的小程序开发技巧

一直以来进行了比较多的微信小程序开发... 总会接触到一些和官方组件或 api 相关或其无法解决的需求,于是决定在这里小小的整理一下微信小程序开发的一些技巧

26 个 jQuery使用技巧

禁用右键点击;禁用搜索文本框;新窗口打开链接;检测浏览器;预加载图片;样式筛选;列高度相同;字体大小调整;返回页面顶部;获取鼠标的xy坐标;验证元素是否为空;替换元素

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!