本指南的目的是向您介绍 CSS 最近引入的一系列创新且强大的功能。虽然本文概述了它们的语法和实际用例,但每个功能还有更深入的内容需要探索。以此为起点,深入研究这些前沿进展。
1。容器查询(大小)
什么是基于大小的容器查询?
基于大小的容器查询允许您根据父容器的尺寸将样式应用于子元素,而不是像传统媒体查询那样依赖整个视口的大小。
<div> <p><strong>Why Does This Matter?</strong></p> <p>Have you ever wished to style components dynamically based on their container’s size instead of the page’s overall dimensions? Container queries make this possible, providing an ideal solution for component-based design systems or modular web components where the parent container’s size dictates the layout.</p> <p>Browser Support:</p> <p>• Full Support: Modern browsers.</p> <p>• Enhancements: Yes, if non-critical styles depend on it.</p> <p><strong>2. Container Queries (Style)</strong></p> <p>What Are Style-Based Container Queries?</p> <p>This feature enables styling child elements when a specific custom property ( — custom-property) within the container takes on a particular value.<br> </p> <pre class="brush:php;toolbar:false">.container { --variant: 1; &.variant2 { --variant: 2; } } @container style(--variant: 1) { .button { /* Apply styles when --variant is 1 */ } } @container style(--variant: 2) { .button { /* Apply styles when --variant is 2 */ } }
为什么这很重要?
这将“CSS mixins”的概念变为现实。正如 Sass mixins 增强了可维护性一样,基于样式的容器查询扩展了 CSS 的本机功能,考虑了级联并允许更大的灵活性。
浏览器支持:
• 支持:Chrome 及其衍生产品。
• 即将推出:Safari。
• 不支持:Firefox。
• 增强功能:有限。
• Polyfill:不可用。
3。集装箱单元
什么是集装箱单元?
容器单位是响应式测量单位(例如,cqw、cqh、cqmin、cqmax),它们根据容器的大小而不是视口来计算尺寸。它们的工作方式与 vw 类似(视口宽度的 1%),但范围仅限于容器。
.card { padding: 2cqw; font-size: 1cqmin; }
为什么这很重要?
如果内部元素需要根据其父容器按比例缩放,容器单元提供了一个干净的、仅 CSS 的解决方案。一个常见的用例是缩放卡片或模块化组件内的版式或间距。
浏览器支持:
• 全面支持:现代浏览器。
• 增强功能:是的,有后备功能。
• Polyfill:可用。
4。 :has() 伪选择器
什么是 :has() 选择器?
:has() 伪类允许您根据父元素中特定子元素的存在来设置父元素的样式。
figure:has(figcaption) { border: 1px solid black; padding: 0.5rem; }
为什么这很重要?
:has() 选择器在 CSS 中有效地充当“父选择器”,使得可以根据子元素设置父元素的样式。例如,您可以使用 :has() 仅在出现错误消息时突出显示父表单字段。
浏览器支持:
• 支持:所有主要浏览器。
• Polyfill:仅限 JavaScript。
*5。查看过渡
*
什么是视图转换?
此功能引入了两种类型的动画:
单页转换(需要 JavaScript)。
多页面过渡(仅限 CSS)。
<div> <p><strong>Why Does This Matter?</strong></p> <p>Have you ever wished to style components dynamically based on their container’s size instead of the page’s overall dimensions? Container queries make this possible, providing an ideal solution for component-based design systems or modular web components where the parent container’s size dictates the layout.</p> <p>Browser Support:</p> <p>• Full Support: Modern browsers.</p> <p>• Enhancements: Yes, if non-critical styles depend on it.</p> <p><strong>2. Container Queries (Style)</strong></p> <p>What Are Style-Based Container Queries?</p> <p>This feature enables styling child elements when a specific custom property ( — custom-property) within the container takes on a particular value.<br> </p> <pre class="brush:php;toolbar:false">.container { --variant: 1; &.variant2 { --variant: 2; } } @container style(--variant: 1) { .button { /* Apply styles when --variant is 1 */ } } @container style(--variant: 2) { .button { /* Apply styles when --variant is 2 */ } }
*为什么这很重要?
*
过渡通过在状态变化期间对元素进行动画处理来增强用户体验,使交互感觉更加流畅。他们使用“补间”,即动画在开始和结束状态之间进行插值,而无需手动定义每个步骤。
浏览器支持:
• 支持:Chrome 及其衍生产品。
• 不支持:Safari、Firefox。
• 增强功能:是的,带有后备动画。
6。嵌套
什么是嵌套?
CSS 嵌套允许您在其父规则中编写子选择器,使代码更清晰且更易于维护。
.card { padding: 2cqw; font-size: 1cqmin; }
为什么这很重要?
嵌套减少了 CSS 中的冗余,将相关样式分组在一起。然而,过度使用它可能会导致选择器过于具体并降低可重用性。
浏览器支持:
• 全面支持:现代浏览器。
7。滚动驱动的动画
什么是滚动驱动动画?
这些动画与滚动相关,可以使用 CSS 实现,而不依赖于 JavaScript。
figure:has(figcaption) { border: 1px solid black; padding: 0.5rem; }
为什么这很重要?
从进度指示器到视差效果,滚动驱动的动画提高了交互性并减少了对性能关键型任务对 JavaScript 的依赖。
浏览器支持:
• 支持:Chrome。
• 即将推出:Firefox。
8。子网格
什么是子网格?
子网格值允许子网格项与其父网格的行或列对齐,而无需重复网格定义。
if (!document.startViewTransition) { updateDOM(); } else { document.startViewTransition(() => updateDOM()); }
为什么这很重要?
子网格确保嵌套网格结构之间的一致对齐,使复杂的布局更易于维护。
浏览器支持:
• 完全支持:所有现代浏览器。
最后的想法
CSS 继续以令人兴奋的速度发展。凭借容器查询、视图转换和子网格等功能,该语言对于现代 Web 开发变得更加强大和直观。密切关注未来的发展,包括相对颜色语法、作用域 CSS 和新的 HTML 元素(例如 ),它们有望带来更大的设计可能性。
以上是新的 CSS 可以让您的生活更轻松的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

记事本++7.3.1
好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具