除了使用每个元素样式之外,有没有办法覆盖浏览器CSS代码中定义的!important
属性?浏览器似乎在style
或link
标记中定义的页面CSS之后加载了预编译的CSS。我想从默认复选框和单选按钮中删除边框和颜色(appearance
并不重要,因此可以轻松禁用),我的CSS在用户界面中工作,但在真实的网页上它不起作用。
答案 0 :(得分:1)
任何页面(作者)样式表都会覆盖浏览器的默认样式表。浏览器样式表中没有!important
。根据级联规则,这里的特异性并不重要。重要的是,CSS中的一些表示特征首先是不可控制的。演示:
<!doctype html>
<style>
* { border: none; }
</style>
<input value=foo><br>
<input type=checkbox checked>
这将删除文本输入框的默认边框。在大多数浏览器中,它不会影响复选框渲染,因为我们可能看到的边框实际上是复选框窗口小部件的一部分。 IE,像往常一样,有不同的行为,但即使在它上面,你也无法删除“边框”,如果在元素上使用自己的边框,边框就会在框外绘制。
可能存在特定于浏览器的方式,以非标准CSS的方式影响其行为。您可能需要详细说明“在用户界面中”以及在哪些浏览器上工作的内容。
答案 1 :(得分:0)
所以你想“删除”浏览器默认的CSS?
我认为你可以通过重置CSS来做到这一点,它基本上重置了浏览器的样式。
那里有很多例子
继承人:CSS reset
答案 2 :(得分:0)
是。加载后,使用Javascript从元素中删除样式 或者,首先设计样式表。
答案 3 :(得分:0)
我所知道的是:外部css,内部css和内联css。它被覆盖的顺序是:
外部&lt;内部&lt;内联。
即。外部css被内部覆盖,内部和外部被内联覆盖。
另外,我们可以通过javascript更新它。
答案 4 :(得分:0)
这是一个例子,其中声明的最后一个!重要样式优先于早期样式。