微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – CSS选择器中的标签,id,类和属性的顺序是否重要?

请考虑以下 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 */

是否可以将元素名称移动到比如说结束?

编辑:我知道具体是什么,我想知道需要指定标签,id,类和属性的顺序.

解决方法

它们都是有效的,因为它们符合 sequence of simple selectors的语法.它们是等价的,因为它们的含义,包括特异性,是以不依赖于组件顺序的方式定义的.

由于纯粹的语法原因,无法将元素名称(类型选择器)移动到最后.规范说明一个简单的选择器“始终以类型选择器或通用选择器开始.序列中不允许使用其他类型选择器或通用选择器.这将被解释为使类型选择器(如果存在)必须首先出现.这是很自然的,因为没有办法将它与例如前面的类选择器(无法使用空格,因为它在CSS选择器语法中具有非常特殊的含义:.bar input是一个有效的选择器,意味着与input.bar完全不同).

原文地址:https://www.jb51.cc/html/227787.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐