23

私は、気に入らない CSS メディア クエリを使用するページを毎日扱っています。私はむしろ全ページを使用したいと思います (それらのほとんどは、768px よりも狭い場合に折りたたまれる Twitter Bootstrap メニューに関連しています)。

Bootstrap のメディア クエリを CSS で上書きする方法はありますか? できれば、すべてのルールを個別にオーバーライドする独自のメディア クエリを定義しないでください。これにはかなりの時間がかかると思われるためです。

編集:ソース コードを制御することはできません。それ以外の場合は、ブートストラップに応答するコードを強制終了します。

4

2 に答える 2

11

そもそもなぜそれらを削除しないのですか?

それができない場合でも、CSS 宣言をルールでオーバーライドできます。

  • 同じセレクタ優先度を持ち、MQ ブロックの後に来る
  • MQ ブロックのルールよりも高いセレクタ優先度を持つ
  • !important値とセミコロンの間にある
    /* one id, one class AND one element => higher priority */
    #id element.class { property: value2; }

    /* !important will nuke priorities. Same side effects as a nuke,
       don't do that at home except if you've tried other methods */
    #id .class { property: value2 !important; }

    @media(blah) {
      /* Overridden. Thrice. */
      #id .class { property: value1; }
    }

    /* same selector, same everything except it comes after the one in @media?
       Then the latter is applied.
       Being in a @media doesn't give any more priority (but it won't be applied
       everywhere, depending on "blah", that's the point of MQ) */
    #id .class { property: value2; }

前の例では、ブロックの外側の宣言のいずれかが@media内側の宣言をオーバーライドします。たとえば、value1 ではなく value2 が適用される理由が 3 つあります。

于 2012-07-11T03:56:08.553 に答える
2

ブートストラップの Respond.css もオーバーライドしたいと思います。

Web サイトの半分でデフォルトの Respond.css を使用したいのですが、別の半分では、1 つのメディア クエリが間違ったレイアウトの原因となっているため、削除したいと考えています。

私の調査によると、css ではメディア クエリを削除できません

それでは、responsive.css をコピーして、メディア クエリを削除します。ソースにアクセスできない場合は、オーバーライドが唯一の選択肢になる可能性があります。

于 2013-02-18T20:14:33.817 に答える