搜索
首页web前端css教程SelectMenu HTML标签

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
保证金是什么:40px 100px 120px 80px表示?保证金是什么:40px 100px 120px 80px表示?Apr 28, 2025 pm 05:31 PM

文章讨论了CSS保证金属性,特别是“保证金:40px 100px 120px 80px”,其应用程序以及对网页布局的影响。

什么是不同的CSS边框特性?什么是不同的CSS边框特性?Apr 28, 2025 pm 05:30 PM

本文讨论了CSS边境属性,重点是自定义,最佳实践和响应能力。主要论点:边境 - 拉迪乌斯(Border-Radius)对响应式设计最有效。

什么是CSS背景,列出属性?什么是CSS背景,列出属性?Apr 28, 2025 pm 05:29 PM

本文讨论了CSS背景属性,它们在增强网站设计方面的用途以及避免的常见错误。重点是使用背景大小的响应式设计。

什么是CSS HSL颜色?什么是CSS HSL颜色?Apr 28, 2025 pm 05:28 PM

文章讨论了CSS HSL颜色,其在网络设计中的使用以及比RGB的优势。主要重点是通过直观的颜色操纵来增强设计和可访问性。

我们如何在CSS中添加评论?我们如何在CSS中添加评论?Apr 28, 2025 pm 05:27 PM

本文讨论了CSS中评论的使用,详细介绍了单线和多行评论语法。它认为注释可以增强代码可读性,可维护性和协作,但如果无法正确管理,可能会影响网站性能。

什么是CSS选择器?什么是CSS选择器?Apr 28, 2025 pm 05:26 PM

本文讨论了CSS选择器,其类型和用于造型HTML元素的用法。它比较ID和类选择器,并与复杂的选择器解决性能问题。

哪种类型的CSS持有最高优先级?哪种类型的CSS持有最高优先级?Apr 28, 2025 pm 05:25 PM

本文讨论了CSS优先级,重点是具有最高特异性的内联风格。它解释了特异性级别,覆盖方法和用于管理CSS冲突的工具。

我们可以通过几种方式将CSS添加到我们的HTML文件中?我们可以通过几种方式将CSS添加到我们的HTML文件中?Apr 28, 2025 pm 05:24 PM

文章讨论了将CSS添加到HTML的三种方法:内联,内部和外部。分析了每种方法对网站性能和适合初学者的适用性的影响。(159个字符)

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脱衣机

Video Face Swap

Video Face Swap

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

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

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

DVWA

DVWA

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