2023年每个前端开发都应该知道的6个css代码片段

lxf2023-12-31 04:10:02

翻译原文: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 {
  padding1rem;
}

@container layers-panel (min-width20rem) {
  .card {
    padding2rem;
  }
}

2023年每个前端开发都应该知道的6个css代码片段

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;
}

2023年每个前端开发都应该知道的6个css代码片段

3. Grid pile

CSS Grid 网格布局www.ruanyifeng.com/blog/2019/0…

它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了。

.pile {
  display: grid;
  place-content: center;
}

.pile > * {
  grid-area1/1;
}

2023年每个前端开发都应该知道的6个css代码片段

4. Quick circle

在CSS中有很多方法来做圆,但这绝对是最简单的。

.circle {
  inline-size25px;
  aspect-ratio: 1;
  border-radius50%;
}

2023年每个前端开发都应该知道的6个css代码片段

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 {
    …
  }
}

2023年每个前端开发都应该知道的6个css代码片段

6. Memorize less and reach more with logical properties

根据元素的书写模式、文本方向自动设置属性 padding-inline、margin-inline、insert-inline。

button {
  padding-inline2ch;
  padding-block1ch;
}

article > p {
  text-align: start;
  margin-block2ch;
}

.something::before {
  inset-inline: auto 0;
}

2023年每个前端开发都应该知道的6个css代码片段

本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!