首页 web前端 css教程 让我们不要忘记容器查询

让我们不要忘记容器查询

Apr 15, 2025 am 10:25 AM

Let's Not Forget About Container Queries

CSS 容器查询一直是开发者们强烈要求改进的特性之一。普遍观点认为,如果有了容器查询,我们就不需要编写那么多基于页面大小的全局媒体查询。因为我们真正想要控制的是更局部的容器,而现在只能使用媒体查询来实现,仅仅是因为它是 CSS 中最好的工具。我完全认同这一点。

但也有一种时不时出现的观点:“开发者们觉得需要容器查询,但实际上并不需要。” 我并不赞同这种说法。如果容器查询可用,我们显然可以用它做很多有益的事情,其中最重要的是编写更简洁、更易移植、更易理解的代码。如今,构建基于组件的 UI 似乎已成为共识,这使得容器查询的需求更加明显。

目前有一些现代 JavaScript 方法可以帮助我们在今天使用容器查询——但这并不意味着这项技术需要停留在 JavaScript 领域。它在 CSS 中更有意义。

以下是 2019 年年末我对这个主题的一些想法:

  • Philip Walton 的“响应式组件:解决容器查询问题的方案”很好地展示了如何使用 JavaScript 的 ResizeObserver 来解决当前的问题。它的性能很好,并且可以在任何地方工作。演示网站是最好的一个,因为它突出了响应式组件的需求(尽管还有其他已记录的用例)。Philip 甚至表示纯 CSS 解决方案会更理想。
  • 大约一年前,CSS 嵌套引起了一阵热潮。讨论似乎表明嵌套是可行的。作为长期以来对合理 Sass 嵌套的拥护者,我赞成这一点。这让我不禁想到,容器查询的语法是否可以利用类似的东西。也许嵌套查询的范围仅限于父选择器?或者你用一个&符号作为前缀来表示媒体语句,就像当前规范对后代选择器所做的那样?
  • 其他提出的语法通常涉及某种冒号的使用,例如 .container:media(max-width: 400px) { }。我也喜欢这个。单冒号选择器(伪选择器)在哲学上是“在这些条件下选择元素”——例如 :hover:nth-child 等——因此媒体范围是有意义的。
  • 我不认为语法是这项功能最大的障碍;而是它的实现性能。据我最后了解,它甚至与其说是性能问题,不如说是它扰乱了浏览器的工作方式的整个渲染流程。这似乎是一个巨大的障碍。但我仍然不想忘记它。网络上正在发生许多创新,仅仅因为今天尚不清楚如何实现它,并不意味着明天就没有人会找到一条切实可行的前进道路。

以上是让我们不要忘记容器查询的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

如何通过CSS选择第一个类名为item的子元素? 如何通过CSS选择第一个类名为item的子元素? Apr 05, 2025 pm 11:24 PM

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? 在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? Apr 05, 2025 pm 10:21 PM

在前端开发中如何实现类似Windows...

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

See all articles