我想覆盖另一个样式表,并将所有元素的浮点数设置为无。如果我使用'div,span,a'作为选择器甚至'body div,body span,body a',它不会覆盖前一个类选择器。我可以使用!重要但是这并不是很明显的原因。
.class {
float: left;
}
/* my overide */
div, span, a {
float: none;
}
注意 - 在代码中我只显示了“类”的类,但是它们是很多类和id。
有没有办法在不使用!important的情况下执行此操作?我这样做的原因是移动通过媒体查询优化我的网站。我需要删除所有元素的绝对定位,浮点数等,但后来我想将这些样式中的一些添加到特定元素。 谢谢
答案 0 :(得分:1)
正如我在上面的评论中所写:
使用*选择器通常是不明智的。选择者专注于 首先是键选择器(最右边的选择器)所以使用* 选择器意味着浏览器必须找到页面上的所有元素。 这是一个巨大的性能问题。
您可以在此答案中阅读更多内容:(why) is the CSS star selector considered harmful?
我没有像你一样使用*
选择器,而是专注于你想要影响的元素。
有可能,页面中只会有几种类型的元素浮动。
这些通常是一些div,也许是一些图像,一两个列表?
div, img, ul, ol{
float:none;
}
如果还有更多,你也可以加入它们。
答案 1 :(得分:0)
@jdin;对于.class
float
的覆盖,只需这样写:
div.class, span.class, a.class {
float: none;
}
修改强>
在您的身体标签中定义ID
,如下所示
<强> HTML:强>
<body id="home">
<div>Tag</div>
<span class="class">Class</span>
<div id="id">ID</div>
</body>
<强> CSS:强>
body#home *{background:pink;border:1px solid #000}