如何覆盖css样式

时间:2012-10-29 06:55:53

标签: html css

我正在开发页面,现在我的css风格我有这行代码

.flex-control-thumbs li {
    width: 25%;
    float: left;
    margin: 0;
}

我的网页。现在,我的一些页面不需要这一行

width: 25%;
float: left;

我可以在页面的内部css中覆盖它,这会导致原始行为被忽略吗?

7 个答案:

答案 0 :(得分:68)

不推荐使用!important但在这种情况下我认为你应该 -

将此内容写入内部CSS -

.flex-control-thumbs li {
  width: auto !important;
  float: none !important;
}

答案 1 :(得分:8)

而不是覆盖,将其创建为不同的css,并在元素中将其作为其他css(多个css)调用。
类似的东西:

.flex-control-thumbs li 
{ margin: 0; }

内部CSS:

.additional li
{width: 25%; float: left;}

<ul class="flex-control-thumbs additional"> </ul> /* assuming parent is ul */

答案 2 :(得分:4)

您可以再创建一个类命名

.flex-control-thumbs-without-width li {
width: auto;
float: initial; or none
}

在需要覆盖时添加此类,如下所示

<li class="flex-control-thumbs flex-control-thumbs-without-width"> </li>

只要您不需要其他<li>

,就可以删除

答案 3 :(得分:3)

添加

.flex-control-thumbs li {
width: auto; 
}

答案 4 :(得分:3)

是的,你的确可以。我能想到有三种实现这一目标的方法。

  1. 为元素添加内联样式。
  2. 创建并添加一个新的&lt; style&gt;元素,并添加文本以覆盖此 它的风格。
  3. 修改css规则本身。
  4. 注意:

    1. 有些混乱,并增加了浏览器需要做的解析 渲染。
    2. 也许是我最喜欢的方法
    3. 不是跨浏览器,有些浏览器喜欢单向浏览,有些浏览器不同 方式,而其余的只是对这个想法嗤之以鼻。

答案 5 :(得分:1)

您可以在外部样式表之后的所需页面中添加样式,以便它们级联并覆盖第一组规则。

<link rel="stylesheet" href="allpages.css">
<style>
.flex-control-thumbs li {
  width: auto;
  float: none;
}
</style>

答案 6 :(得分:1)

增加您的CSS Specificity

示例:

.parent-class .flex-control-thumbs li {
  width: auto;
  float: none;
}

演示:

.sample-class {
  height: 50px;
  width: 50px;
  background: red;
}

.inner-page .sample-class {
  background: green;
}
<div>
  <div class="sample-class"></div>
</div>

<div class="inner-page">
  <div class="sample-class"></div>
</div>