请考虑以下
HTML标记:
<input id="foo" class="bar" name="baz">
以下选择器是否相等(甚至有效):
CSS
input#foo.bar[name=baz] { } input.bar#foo[name=baz] { } input[name=baz].bar#foo { } /* etc */
是否可以将元素名称移动到比如说结束?
解决方法
它们都是有效的,因为它们符合
sequence of simple selectors的语法.它们是等价的,因为它们的含义,包括特异性,是以不依赖于组件顺序的方式定义的.
由于纯粹的语法原因,无法将元素名称(类型选择器)移动到最后.规范说明一个简单的选择器“始终以类型选择器或通用选择器开始.序列中不允许使用其他类型选择器或通用选择器.这将被解释为使类型选择器(如果存在)必须首先出现.这是很自然的,因为没有办法将它与例如前面的类选择器(无法使用空格,因为它在CSS选择器语法中具有非常特殊的含义:.bar input是一个有效的选择器,意味着与input.bar完全不同).
原文地址:https://www.jb51.cc/html/227787.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。