Html “使用”的含义是什么;!“重要的”;在CSS中?
我在一个网站上工作了几个月,很多时候当我试图编辑一些东西时,我不得不使用Html “使用”的含义是什么;!“重要的”;在CSS中?,html,css,css-specificity,Html,Css,Css Specificity,我在一个网站上工作了几个月,很多时候当我试图编辑一些东西时,我不得不使用!重要信息,例如: 以使其按预期显示。这是坏习惯吗?或者是!重要信息命令可以使用吗?这会不会导致更进一步的不希望发生的事情 !重要信息强制始终应用该语句,执行以下操作: 即使选择器的特异性较低,级别较低,但它现在也比更高的特异性选择器强 如果该语句的进一步出现通常会覆盖该语句,则它不再覆盖重要语句 大多数时候,!重要信息可以避免,因为选择器的特殊性处理哪种选择器有效,这就是级联样式的概念。然而,在某些情况下(不太记得确切
!重要信息
,例如:
以使其按预期显示。这是坏习惯吗?或者是
!重要信息
命令可以使用吗?这会不会导致更进一步的不希望发生的事情 !重要信息
强制始终应用该语句,执行以下操作:
- 即使选择器的特异性较低,级别较低,但它现在也比更高的特异性选择器强
- 如果该语句的进一步出现通常会覆盖该语句,则它不再覆盖重要语句
!重要信息
可以避免,因为选择器的特殊性处理哪种选择器有效,这就是级联样式的概念。然而,在某些情况下(不太记得确切的情况),特殊性没有那么合乎逻辑,我不得不强制!重要信息
,请参见声明
不使用/避免的原因!重要信息
- 防止用户使用自定义样式表(现在无法覆盖标记为重要的规则),这会破坏某些人的可访问性
- 使代码更难阅读,因为大脑通常很容易理解特定性,但记住什么是
使其更难阅读!重要信息
检查此项:是的,我会说您使用
的示例!重要提示
是一种不好的做法,很可能会进一步导致不良影响。但这并不意味着它永远不会好用
有什么问题吗!重要信息
:
当浏览器决定CSS如何影响页面时,CSS是主要的工作力量之一。选择器越具体,其重要性就越高。这通常与所选元素出现的频率一致。例如:
按钮{
颜色:黑色;
}
button.highlight{
颜色:蓝色;
字号:1.5em;
}
按钮#立即购买{
颜色:绿色;
字号:2em;
}
在此页面上,所有按钮均为黑色。除了类为“highlight”的按钮,它们是蓝色的。除了一个ID为“buyNow”的唯一按钮,它是绿色的。整个规则(本例中的颜色和字体大小)的重要性由选择器的特殊性管理
!重要信息
,但是,它是在属性级别而不是选择器级别添加的。例如,如果我们使用此规则:
button.highlight{
颜色:蓝色!重要;
字号:1.5em;
}
那么颜色属性的重要性将高于字体大小。事实上,颜色比按钮#buyNow
选择器中的颜色更重要,而不是字体大小(字体大小仍然由常规ID和类别特异性决定)
元素
的字体大小为2em
,但颜色为蓝色
这意味着两件事:
选择器不能准确地传达其中所有规则的重要性
覆盖蓝色的唯一方法是使用另一种!重要的
声明,例如在按钮#立即购买
选择器中
这不仅使样式表更难维护和调试,而且会产生滚雪球效应。一个!重要信息
导致另一个用户覆盖它,另一个用户覆盖它,等等。它几乎从来不会只和一个人呆在一起。即使一个!重要信息
可能是一个有用的短期解决方案,但从长远来看,它会反过来咬你的屁股
什么时候可以使用:
- 覆盖用户样式表中的样式
这就是!重要信息
的发明首先是为了:给用户一种覆盖网站样式的方法。它经常被屏幕阅读器、广告拦截器等辅助工具使用
- 覆盖第三方代码和内联样式
一般来说,我会说这是一个代码气味的情况,但有时你只是没有选择。作为一名开发人员,您应该尽可能多地控制代码,但在有些情况下,您的双手被束缚,您只需要处理现有的任何东西。使用!重要信息
请谨慎使用
- 实用程序类
许多库和框架都附带了实用程序类,如.hidden
、.error
或.clearfix
。它们只有一个目的,而且通常应用很少但非常重要的规则。(display:none
用于.hidden
类,例如)。这些样式应该覆盖元素上当前的任何其他样式,并且绝对保证!重要信息
,如果你问我的话
结论
使用!重要的
声明通常被认为是不好的做法,因为它的副作用扰乱了CSS的核心机制之一:特异性。在许多情况下,使用它可能表明CSS架构很差
在某些情况下,它是可以接受的,甚至是首选的,但在使用它之前,请确保您仔细检查其中一种情况是否确实适用于您的情况。对于我来说,请使用!重要提示
是一种糟糕的CSS做法。它破坏了appl中的自然流动
div.myDiv {
width: 400px !important;
}
...
background-color: black; /* I forgot important here, but it works fine on its own */
color: white !important;
...
...
background-color: white !important;
color: black !important;
...
.set-color{
color: blue;
}
.set-color{
color: red;
}
.set-color{
color: blue;
}
.set-color{
color: red !important;
}
.set-color{
color: blue !important;
}
.set-color{
color: red;
}