你也许不再需要使用 CSS Media Queries(媒体查询)了

你也许不再需要使用 CSS Media Queries(媒体查询)了

最近,CSS 引入了一项新功能:Container Queries。它可以替代 Media Queries 并实现 Media Queries 无法胜任的任务。

超越 Media Queries 的功能

让我们想象一个场景:在网页上有两列卡片。我们希望在卡片宽度较窄时,卡片内部呈上下布局;而在卡片宽度较宽时,卡片内部呈左右布局。以 Tailwind CSS 为例,可以这样实现:

html 复制代码
<html>
  <body class="...">
    <main class="container mx-auto flex flex-wrap">

      <div class="basis-1/2 p-2 @container/card">
        <div class="... flex gap-1 flex-col @sm/card:flex-row">
          <img class="... w-full @sm/card:w-32" src="..." alt="">
          <p>Lorem ...</p>
        </div>
      </div>

      <div class="basis-1/2 p-2 @container/card">
        ...
      </div>

      <div class="basis-1/2 p-2 @container/card">
        ...
      </div>

      <div class="basis-1/2 p-2 @container/card">
        ...
      </div>

    </main>
  </body>
</html>

你可以在 Tailwind CSS Container Queries (https://github.com/tailwindlabs/tailwindcss-container-queries) 上找到更多相关信息。

效果如下:

替代 Media Queries

考虑下一个场景:网页上有一个标题栏,我们希望在窄屏时背景色为深红色,在宽屏时为浅红色。以 Tailwind CSS 为例,可以这样实现:

html 复制代码
<html class="@container/root">
  <body class="...">
    <h1 class="bg-red-500 @md/root:bg-red-300">
      Header
    </h1>
  </body>
</html>

效果如下:

总结

Container Queries 的引入为我们提供了更灵活的布局和样式控制方式,可以减少对传统的 CSS Media Queries 的需求。这一新特性的使用可以极大地简化响应式设计,为开发者带来更多的便利。在不远的将来,Container Queries 将成为前端开发的标配。

相关推荐
FFF_6345602310 小时前
简单的画板小工具,下载即用
前端·javascript·css
绝世唐门三哥13 小时前
CSS 虚线下划线用法指南:text-decoration 完整解析
前端·javascript·css
DsirNg13 小时前
用一个登录卡片讲清 CSS 盒模型:padding、border 与 box-sizing 到底如何影响布局
css·padding·box-sizing·表单布局·border·css 盒模型·登录卡片
用户059540174461 天前
把 AI Agent 记忆存储验证从 40 分钟手测压到 3 分钟,pytest + Docker 这套组合太顶了
前端·css
用户059540174462 天前
LangChain Memory 测试踩坑实录:用 pytest 自动化回归对话记忆,我折腾了整整一个周末
前端·css
jjw_zyfx2 天前
css vue vite实现闪烁的呼吸效果
javascript·css·vue.js
Mh4 天前
如何使用GSAP实现一个 `pinned` 滚动楼层叙事?
前端·javascript·css
郭wes代码4 天前
纯 CSS+JS 实战:手搓一张支持自定义的通用金色电子奖状(万字详细拆解)
前端·javascript·css
竹枝溪4 天前
从零吃透CSS(一):CSS基础语法与样式美化
前端·css·选择器·前端三剑客
用户059540174465 天前
把AI对话记忆测试从手动比对到Pytest+Redis自动化,验证效率提升了10倍,还顺带揪出3个隐蔽bug
前端·css