用一行css就能搞定的事,真没必要写js
【摘要】 前端里很多效果一行 CSS 就能解决,没必要上 JS。举了文字省略号、等比容器、悬停过渡三个常见例子。
前端的世界里,能用 CSS 解决的效果就别急着上 JS,这是我自己慢慢悟出来的。JS 写多了,交互逻辑、状态管理都跟着复杂,其实不少需求浏览器早帮你准备好了。
1. 文字溢出显示省略号
那种"标题太长就截断加三点"的效果,以前我还会算字符长度,其实一行 CSS 就够:
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
关键是这三个属性要一起用,少一个都不生效。现在还支持多行截断,加个 -webkit-line-clamp 就行,完全不用算。
2. 等比缩放的容器
做卡片图的时候经常要固定比例,用 aspect-ratio 直接声明,比监听窗口变化去算高度省事太多:
.thumb {
aspect-ratio: 16 / 9;
width: 100%;
}
以前这套得靠 padding-top 的 hack 或者 JS 监听 resize,现在一行搞定。
3. 悬停过渡
鼠标移上去变色、放大,用 transition 加 :hover 就够了,别为了这点动效引一个动画库:
.btn {
transition: background-color .2s ease;
}
.btn:hover {
background-color: #409eff;
}
记住一个原则:视觉效果优先找 CSS,JS 留给真正的逻辑。这样页面更轻,也更好维护。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)