Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HTML属性作为css选择器_Html_Css - Fatal编程技术网

使用HTML属性作为css选择器

使用HTML属性作为css选择器,html,css,Html,Css,使用CSS设置html样式的常见做法是使用id或类作为选择器。不使用html属性作为选择器的原因是什么 使用CSS 。成功{ 边框:1px纯绿色; } id属性唯一地标识页面中的元素…而不仅仅是CSS class属性提供了一个您分配给元素的任意类别的列表…而不仅仅是CSS 创建自己的属性会导致无效的HTML,直到语言更改为添加新的HTML时,与您创建的属性冲突,导致浏览器将预期行为应用于元素。最佳做法是,您应该尽可能使用HTML选择器。这使得代码更易于管理,更易于理解。还有性能方面的好处(尽管

使用CSS设置html样式的常见做法是使用id或类作为选择器。不使用html属性作为选择器的原因是什么

使用CSS

。成功{
边框:1px纯绿色;
}

id属性唯一地标识页面中的元素…而不仅仅是CSS

class属性提供了一个您分配给元素的任意类别的列表…而不仅仅是CSS

创建自己的属性会导致无效的HTML,直到语言更改为添加新的HTML时,与您创建的属性冲突,导致浏览器将预期行为应用于元素。

最佳做法是,您应该尽可能使用HTML选择器。这使得代码更易于管理,更易于理解。还有性能方面的好处(尽管现在这不是什么问题)

也就是说,很多时候使用HTML选择器并不有利。您的示例具有state属性,但并非所有元素都具有。当文本是警告而不是上下文信息时,您将如何在
div
中以不同方式显示文本?没有默认属性

切换类也比用Javascript之类的东西设置属性容易得多

最后,您可以考虑需要非常复杂的HTML选择器的边缘情况
li>li:nth child(11)
,而您只需添加一个类
.special
。当你的李是动态的,你不想再突出第11个时,这是特别真实的



回答你的问题。没有什么能阻止人们。但是我个人会用最简单的方法来编写代码来解决我的问题。我认为我在这方面非常“正常”,其他人也有类似的原因。

可能是因为[attr]在规范中出现得较晚,而且类可以接受多个值。如果两个属性都不适合您的需要,您甚至可以使用数据属性;)两者都很常见。没有理由不使用自定义HTML属性,HTML5允许这些。看看Bootstrap和Frand作为使用自定义HTML属性的框架。@ JoHHWCCORBET-有一个很好的理由不使用自定义HTML属性,我在这个答案的最后一段描述了它。引导不使用自定义属性,它使用了许多不同的类。我从来没有看过基金会……但是我浏览了一个随机的基础模板,我看到了很多类,没有自定义属性。这些框架使用DOM操作的自定义属性:@ JoHWWCORBETT-OH,<代码>数据->代码>属性。这与问题提出的不同。而且他们不把它们纯粹用作CSS目标。