56

私はページを開発しています、今私のcssスタイルで私はこのコード行を持っています

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

私のページのために。今、私のページのいくつかはこの行を必要としません

width: 25%;
float: left;

ページの内部CSSで上書きできる可能性があります。これにより、元の動作が無視されますか?

4

7 に答える 7

88

使用!importantはお勧めしませんが、この状況ではあなたがすべきだと思います-

これを内部CSSに記述します-

.flex-control-thumbs li {
  width: auto !important;
  float: none !important;
}
于 2012-10-29T07:00:04.457 に答える
9

上書きする代わりに、別の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 */
于 2012-10-29T06:58:07.987 に答える
5

もう1つのクラス命名を作成できます

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

以下のようにオーバーライドする必要があるときはいつでも、このクラスを追加してください。

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

そして、あなたが他のものを必要としないときはいつでも削除してください<li>

于 2012-10-29T07:09:46.540 に答える
3

追加するだけ

.flex-control-thumbs li {
width: auto; 
}
于 2012-10-29T07:02:32.023 に答える
3

はい、できます。私が考えることができるこれを達成するための3つの方法があります。

  1. 要素にインラインスタイルを追加します。
  2. 新しい<style>要素を作成して追加し、このスタイルを上書きするテキストを追加します。
  3. cssルール自体を変更します。

ノート:

  1. やや面倒で、ブラウザがレンダリングするために必要な解析に追加されます。
  2. おそらく私のお気に入りの方法
  3. クロスブラウザではなく、あるブラウザはある方法で実行され、他のブラウザは別の方法で実行されますが、残りのブラウザはそのアイデアを思いとどまらせます。
于 2012-10-29T07:06:05.910 に答える
2

外部スタイルシートの後に必要なページにスタイルを追加して、最初のルールセットをカスケードして上書きすることができます。

<link rel="stylesheet" href="allpages.css">
<style>
.flex-control-thumbs li {
  width: auto;
  float: none;
}
</style>
于 2012-10-29T07:05:47.600 に答える
2

CSSの特異性を高める

例:

.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>

于 2020-09-27T01:57:16.307 に答える