目录
开放UI计划
selectmenu控件
为什么要有新名称?
入门
鼓励反馈!
了解selectmenu解剖结构
默认行为
使用::part()造型
自定义标记
扩展标记
花朵
树木
替换影子DOM(高级)
结论
首页 web前端 css教程 SelectMenu HTML标签

SelectMenu HTML标签

Mar 14, 2025 am 11:18 AM

SelectMenu HTML标签

介绍selectmenu :一种革命性的形式控制

本文深入研究了实验性的selectmenu形式控制,与传统相比,其出色的样式功能<select></select>元素。我们将探讨其开发的原因及其革新Web形式设计的潜力。

Web开发人员经常将造型形式控制的局限性作为主要平台缺陷。 2020年CSS调查状态在最需要的十大改进中排名出样式<select></select>专门被确定为有效风格的最有问题的元素。而当按钮部分<select></select>相对易于样式,自定义下拉菜单中的选项仍然非常具有挑战性。

因此,许多设计系统和组件库使用HTML,CSS和JavaScript从头开始创建自定义选择元素。但是,实现适当的可访问性,键盘导航和准确的弹出定位是复杂且耗时的,通常会导致无法访问的精选菜单。

selectmenu控件旨在通过提供内置的,高度可观的替代方案来解决这个持久问题。

开放UI计划

开放UI计划是一项涉及开发人员,设计师和浏览器实施者的协作努力,正在推动selectmenu的开发。它的目标是使开发人员能够完全样式并扩展内置的UI控件,包括selectmenu ,下拉列表,复选框和无线电按钮。这涉及为实施和解决可访问性要求创建规格。

尽管仍处于早期阶段,该项目仍在迅速发展,结果令人鼓舞。您可以参加开放UI社区并为其开发做出贡献。

selectmenu控件

SelectMenu是在Chromium(主要由Microsoft Edge团队,主要由Microsoft Edge团队)实施的) selectmenu ,是一种新的内置控制,可提供熟悉的选择选择体验。它具有显示选定值的按钮,通过单击按钮触发的弹出窗口以及弹出窗口中的选项列表。

为什么要有新名称?

名称“ SelectMenu”是一个占位符,主要是因为显着更改现有<select></select>元素将引起广泛的兼容性问题。因此, selectmenu被设计为独立控制。

入门

虽然尚未准备就绪,但您可以使用以下方式尝试selectmenu

  1. 使用基于铬的浏览器(Chrome或Edge)的金丝雀版。
  2. 启用“实验Web Platform”的标志about:flags和重新启动。
  3. 代替<select></select>使用selectmenu网页中的元素。

尽管默认情况下提供了基本功能,但selectmenu的真正功能在于其样式和可扩展性选项。

鼓励反馈!

Open UI团队欢迎反馈。早期测试有助于改善控制。通过打开的UI GITHUB存储库报告错误或限制。

了解selectmenu解剖结构

造型selectmenu需要了解其内部结构:

  • <selectmenu></selectmenu> :包含按钮和列表框的根元素。
  • <button></button> :Triggers ListBox可见性。
  • <label></label> :(可选)显示选定的值。不一定在<button></button>
  • <listbox></listbox> :包装<option></option><optgroup></optgroup>元素。
  • <optgroup></optgroup> :组<option></option>具有可选标签的元素。
  • <option></option> :表示可选的值。

默认行为

selectmenu模仿<select></select>。最小的标记就足够了:

<selectmenu>
  <option value="Option 1">选项1</option>
  <option value="Option 2">选项2</option>
  <option value="Option 3">选项3</option>
</selectmenu>
登录后复制

默认<button></button>,,,,<label></label> , 和<listbox></listbox>元素是自动生成的。

使用::part()造型

::part()伪元素允许造型单个组件:

 .my-select-menu :: part(button){
  颜色:白色;
  背景色:#f00;
  填充:5px;
  边界拉迪乌斯:5px;
}

.my-select-menu :: part(listBox){
  填充:10px;
  保证金顶:5px;
  边界:1PX固体红色;
  边界拉迪乌斯:5px;
}
登录后复制

这会使用按钮和列表框。 ::part()可以使用<button></button>,,,,<label></label> , 和<listbox></listbox>

自定义标记

对于更大的控制,请使用命名插槽替换默认标记:

<selectmenu class="my-custom-select">
  <div slot="button">
    <button behavior="button">打开</button>
    <span class="label">选择一个选项</span>
  </div>
  <option value="Option 1">选项1</option>
  <option value="Option 2">选项2</option>
  <option value="Option 3">选项3</option>
</selectmenu>
登录后复制

slot="button"属性替换了默认按钮。 behavior="button"分配按钮行为和可访问性。类似的技术适用于<listbox></listbox>

扩展标记

添加新元素以扩展功能:

<selectmenu class="my-custom-select">
  <div slot="listbox">
    <div behavior="listbox" popup="">
      <h3 id="花朵">花朵</h3>
      <option value="Rose">玫瑰</option>
      <h3 id="树木">树木</h3>
      <option value="Willow">柳</option>
    </div>
  </div>
</selectmenu>
登录后复制

这增加了自定义分组和样式。

替换影子DOM(高级)

要进行完整的控制,请使用attachShadow()替换阴影DOM。这提供了最大的自定义,但需要更高级的技术。

结论

selectmenu在造型和扩展传统方面提供了重大改进<select></select>元素。其内置浏览器实现可确保可访问性和适当的定位。尽管仍在实验中, selectmenu具有增强Web形式设计的巨大潜力。参加开放UI计划,以帮助塑造其未来。

以上是SelectMenu HTML标签的详细内容。更多信息请关注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)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

如何将CSS网格用于粘头和页脚 如何将CSS网格用于粘头和页脚 Apr 02, 2025 pm 06:29 PM

CSS网格是一系列属性的集合,旨在使布局比以往任何时候都容易。像任何东西一样,那里有一点学习曲线,但是网格是

Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

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

See all articles