简介
:optional
选择器用于选择可选元素,即存在或不存在的元素。它与 :required
选择器相反,后者选择必须存在的元素。
语法
element:optional { /* 样式 */ }
其中,element
是要选择的元素。
用法
:optional
选择器可用于以下场景:
- 样式化可能不存在的元素,例如页脚或侧边栏。
- 样式化可能包含可选内容的元素,例如列表项或表单字段。
- 样式化可能具有不同状态的元素,例如启用或禁用按钮。
示例
样式化可能不存在的元素
<footer> <p>版权所有</p> </footer>
footer:optional { display: flex; justify-content: center; }
样式化可能包含可选内容的元素
<ul> <li>项目 1</li> <li>项目 2</li> <li>项目 3 (可选)</li> </ul>
ul li:optional { font-style: italic; }
样式化可能具有不同状态的元素
<button> 提交 </button>
button:optional { cursor: pointer; } button:optional[disabled] { cursor: not-allowed; }
支持情况
:optional
选择器得到所有现代浏览器的支持,包括:
- Chrome
- Firefox
- Safari
- Edge
- Opera
替代方案
在 CSS 2.1 之前,没有专门的 :optional
选择器。但是,可以使用以下替代方法:
element[optional] { /* 样式 */ }
element:not(:required) { /* 样式 */ }
注意事项
:optional
选择器只选择不存在或包含可选内容的元素。它不选择内容为空的元素。:optional
选择器不能与:required
选择器同时使用。:optional
选择器可以与其他选择器组合使用。
结论
:optional
选择器是一个有用的工具,用于样式化可能不存在或包含可选内容的元素。它可以帮助创建更灵活和健壮的 CSS 布局。