首页 > 其他分享 >你也许不再需要使用 CSS Media Queries(媒体查询)了

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

时间:2023-10-19 15:02:04浏览次数:34  
标签:... Container 卡片 Media Queries CSS

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

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

超越 Media Queries 的功能

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

<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 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 将成为前端开发的标配。

标签:...,Container,卡片,Media,Queries,CSS
From: https://www.cnblogs.com/forzhaokang/p/17774313.html

相关文章

  • html+css3+anime.js实现线条来回滑动且渐隐动画
    效果: 代码:<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><metaname="viewport"content="width=device-width,initial-sc......
  • html+css3+anime.js实现文字故障动画
    记录一个很酷的动画,效果如图: 是基于html+css3+anime.js实现的,看了眼代码,其实是默认文字的div中定位了几个相同的文字块,利用clip-path这个属性去裁剪展示其中的一部分,用于展示故障的效果,动画则是使用anime.js去循环改变X与Y轴的位置,同时调整绘制的颜色,demo代码如下:<!DOCTYPEh......
  • CSS-04
    定位将盒子定在一固定位置组成定位模式+边偏移定位模式static-静态定位(标准流)(相当于无定位)relative-相对absolute-绝对(脱标)fixed-固定(脱标)相对定位相对位置position:relative;​top:100px;相对自己的位置移动,原位置保留绝对定位相对祖先的位置移动没有......
  • CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背
    CSS3是用于为HTML文档添加样式和布局的最新版本的层叠样式表(CascadingStyleSheets)。下面是一些常用的CSS3属性及其详细解释:border-radius:设置元素的边框圆角的半径。可以使用四个值设置四个不同的圆角半径,也可以只使用一个值来设置统一的圆角。box-shadow:创建一个元素的阴影效果......
  • css设置backgroud:url(),无效
    react项目中,使用styled-components编写样式,给元素添加背景图不生效。background直接设置十六进制颜色或者颜色的英文名称都是可行的,但是使用url无作用,那就是url问题了,于是我想换一种思路,能不能把图片import进来,放进url里,避免错误的路径呢,于是哎嘿,好使了......
  • CSS 还原拉斯维加斯球数字动画
    我的小册 《CSS技术揭秘与实战通关》上线了,想了解更多有趣、进阶、系统化的CSS内容,可以猛击- LINK。最近大家刷抖音,是否有刷到拉斯维加斯的新地标「Sphere」:场馆内部的视觉效果非常惊人,其中一个效果让我虎躯一震:我的第一想法就是,这个看起来用CSS也可以实现嘛?还有......
  • HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
    HTML中列表的作用HTML中的列表(List)用于呈现按照一定逻辑关系组织的信息,以便用户更好地理解和识别。列表可以分为有序列表、无序列表和定义列表三种类型。有序列表(OrderedList):用于表示按照一定顺序排列的项目,每个项目都有对应的标记。常见的例子包括步骤、流程等。无序列表(Unordere......
  • HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
    HTML中列表的作用HTML中的列表(List)用于呈现按照一定逻辑关系组织的信息,以便用户更好地理解和识别。列表可以分为有序列表、无序列表和定义列表三种类型。有序列表(OrderedList):用于表示按照一定顺序排列的项目,每个项目都有对应的标记。常见的例子包括步骤、流程等。无序列表(Unordere......
  • CSS:@keyframes和animation
    一、@keyframes定义动画通过@keyframes规则,您能够创建动画。创建动画的原理是,将一套CSS样式逐渐变化为另一套样式。在动画过程中,您能够多次改变这套CSS样式。以百分比来规定改变发生的时间,或者通过关键词"from"和"to",等价于0%和100%。0%是动画的开始时间,100%动画......
  • 2前端开发css
    form表单'''获取前端用户数据并发送给后端服务器'''<fromaction=""></from>#需要再form标签内部编写获取用户数据标签#1属性action控制数据的提交地址方式1:写全路径action="http://www.aa7a.cn/user.php"方式2:写后缀(自动补全IP和PORT)......