搜索
首页web前端css教程% CSS:
&#s border 任何元素的淘汰行为!

传说,总有一天,任何 html 元素都可以实现漂亮的 fieldset 边框剔除效果。

我有个好消息:在 Chrome 中,这一天就是今天!

场集?传奇?

如果您不熟悉,这里是带有图例的字段集的边框剔除效果:

a picture of two simple fieldset elements with their legend (titles) leaving a gap the width of their text in the fieldset's borderVanillaHTML 中稍作修改的屏幕截图中的字段集图例示例

图例(标题)的宽度会自动在字段集的边框上剪出一个洞。

虽然技术上可以只使用

;和在任何地方,通常不建议使用
之外并且没有任何其中的元素,因为字段集的主要目的是对相关表单输入进行语义分组。在不相关的上下文中使用它违背了其预期含义,并且可能会对屏幕阅读器的可访问性产生负面影响。

任何地方的 Fieldset 边框图例淘汰行为

这并不是一件容易完成的事情,所以我隐藏了我能做到的每一点复杂性,使其尽可能容易复制:

  1. @import css 中的 fieldset-legend 实用程序。
  2. 将 fieldset-legend 类添加到包装器
  3. 将 --fl-left 属性设置为任意 值(如果您愿意,甚至可以是负值)

并且库将定位 :first-child 使其与元素顶部垂直居中,并剔除其后面的内容!

要在标题周围创建间隙,请根据需要向 :first-child 添加填充。

这里最大的问题是你不能将纯文本节点直接放入 fieldset-legend 包装器中,文本必须嵌套在它们自己的元素内。

此外,技术上字段集的边框剔除不会下沉到图例元素的底部并剪切背景,就像上面那样。

如果您希望淘汰赛仅下沉穿过边界,您可以提供额外的属性,--fl-sink 并将其设置为等于边框宽度:

它还有其他作用吗?

确实如此!

--fl-左替代品

您可以使用--fl-center代替--fl-left。
如果将 --fl-center 设置为 0px,标题将沿顶部边缘水平居中。
如果设置为-10px,它将向中心左侧偏移10px。
将其设置为 15px,它将从中心向右移动 15px。

除了 --fl-left 或 --fl-center,您还可以使用 --fl-right 来实现预期的行为。

所有这 3 个都是可以是正数、0px 或负数。

标题为:第一个孩子的替代方案

将其他元素(例如仅限屏幕阅读器的页面跳转)放置在 fieldset-legend 容器内的标题之前可能很重要。

将类 fieldset-legend-title 放置在 fieldset-legend 元素的任何一个直接后代上,库会将该元素提升到顶部相同的所需位置,而仅保留 :first-child。

fieldset-legend 使用 ::before 伪

您可以让它使用 ::after 伪变量,只需将类名从 fieldset-legend 更改为 fieldset-legend-after

fieldset-legend 没有伪?

这是高级用法,但是...

可以插入:0px;包装器内的元素,根据需要对其进行自定义,并使用 fieldset-legend-custom 而不是 fieldset-legend 或 fieldset-legend-after。

这会删除所有库的剪辑,并为您提供一个自定义蒙版,以便在 fieldset-legend-custom 元素内的任何位置使用。

例如,如果您想将其与您最喜欢的科幻塑造库、augmented-ui 一起使用:

回退行为

使用此实用程序所需的限制功能支持是时间线范围。

还需要容器样式查询。

这是本文中的第一个演示在非 Chrome 浏览器中的样子:

picture of the fallback behavior as described below

它应用相同的机械样式来最小化差异,例如非静态位置和隔离:isolate;但最值得注意的是,它将标题移回到内联并做了两件事!重要的事情:

  1. 标题颜色变为 currentColor - 标题后面的内容从正文切换到 fieldset-legend 容器的内部,该容器可能具有非常不同的背景。使用 currentColor 可确保内容可读,因为非字段集中的其余内容可能已正确设置。
  2. 同样,我不知道你的标题元素是否已经有自己的背景(尽管如果有,你不需要这个实用程序将其定位在边框上),因此背景被迫透明,确保 fieldset-legend 背景上的 currentColor,在大多数情况下已经可读。

要确定特定的后备行为,您可以设置
--fl-fallback-title-color 和 --fl-fallback-title-background 将用于代替 currentColor 或在不支持的情况下渲染的情况下透明。

这就是上面的自定义演示在不支持 fieldset-legend 的浏览器中的样子:

picture of the fallback behaviors as described above

进一步的后备支持

如果你知道如何使用我的旧空间切换技术,图书馆还提供:

--fl-supported,支持时为空格,不支持时为首字母

--fl-不支持,相反。


打开联系方式?

如果您需要任何方面的帮助、有功能请求或想要分享您创建的内容,请务必联系我们!

% CSS:
s border 任何元素的淘汰行为!
% CSS:
s border 任何元素的淘汰行为!
DEV Blog % CSS:
s border 任何元素的淘汰行为!
% CSS:
s border 任何元素的淘汰行为!
% CSS: <fieldset> % CSS: <fieldset> DEV Blog % CSS: <fieldset> % CSS: <fieldset>

?@JaneOri.% CSS:

s border 任何元素的淘汰行为!

?@Jane0ri

以上是% CSS:

&#s border 任何元素的淘汰行为!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践揭开屏幕读取器的神秘面纱:可访问的表格和最佳实践Mar 08, 2025 am 09:45 AM

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

使用智能表单框架创建JavaScript联系表格使用智能表单框架创建JavaScript联系表格Mar 07, 2025 am 11:33 AM

本教程演示了使用智能表单框架创建外观专业的JavaScript表单(注意:不再可用)。 尽管框架本身不可用,但原理和技术仍然与其他形式的建筑商相关。

将框阴影添加到WordPress块和元素将框阴影添加到WordPress块和元素Mar 09, 2025 pm 12:53 PM

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

使用GraphQL缓存使用GraphQL缓存Mar 19, 2025 am 09:36 AM

如果您最近开始使用GraphQL或审查了其优点和缺点,那么您毫无疑问听到了诸如“ GraphQl不支持缓存”或

使您的第一个自定义苗条过渡使您的第一个自定义苗条过渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。

优雅且酷的自定义CSS卷轴:展示柜优雅且酷的自定义CSS卷轴:展示柜Mar 10, 2025 am 11:37 AM

在本文中,我们将深入研究滚动条。我知道,这听起来并不魅力,但请相信我,一个精心设计的页面是齐头并进的

展示,不要说展示,不要说Mar 16, 2025 am 11:49 AM

您花多少时间为网站设计内容演示文稿?当您撰写新的博客文章或创建新页面时,您是在考虑

NPM命令是什么?NPM命令是什么?Mar 15, 2025 am 11:36 AM

NPM命令为您运行各种任务,无论是一次性或连续运行的过程,例如启动服务器或编译代码。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

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

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器