❝
翻译原文:web.dev/6-css-snipp…
❞
- container query
- Scroll snap
- Grid pile
- Quick circle
- Control variants with @layer
- Memorize less and reach more with logical properties
初次看,我知道的竟然寥寥无几,最后挨个学习~
翻译原文,这里只做简单摘要哦。
1. A container query
@container 可以实时匹配容器的尺寸,开发者们可以根据不同的容器尺寸范围,对内部的样式实现对应的布局和样式
.panel {
container: layers-panel / inline-size;
}
.card {
padding: 1rem;
}
@container layers-panel (min-width: 20rem) {
.card {
padding: 2rem;
}
}
2. Scroll snap
精准操控的滚动体验,scroll snap
是匹配系统滚动UX的完美方式。
.snaps {
overflow-x: scroll;
scroll-snap-type: x mandatory;
overscroll-behavior-x: contain;
}
.snap-target {
scroll-snap-align: center;
}
.snap-force-stop {
scroll-snap-stop: always;
}
3. Grid pile
CSS Grid 网格布局www.ruanyifeng.com/blog/2019/0…
它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。
.pile {
display: grid;
place-content: center;
}
.pile > * {
grid-area: 1/1;
}
4. Quick circle
在CSS中有很多方法来做圆,但这绝对是最简单的。
.circle {
inline-size: 25px;
aspect-ratio: 1;
border-radius: 50%;
}
5. Control variants with @layer
更方便的css级联层重写
/* file buttons.css */
@layer components.buttons {
.btn.primary {
…
}
}
向 components 层内部的 buttons 层附加规则,只需用 . 连接这两层。
/* file video-player.css */
@layer components.buttons {
.btn.player-icon {
…
}
}
6. Memorize less and reach more with logical properties
根据元素的书写模式、文本方向自动设置属性 padding-inline、margin-inline、insert-inline。
button {
padding-inline: 2ch;
padding-block: 1ch;
}
article > p {
text-align: start;
margin-block: 2ch;
}
.something::before {
inset-inline: auto 0;
}
本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。
在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。
本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。
除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。
在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!