架空の映画のネタバレレビュー

CSSを一部無効にしたい

今HTML4.01 Transitionalを使用してページを作成しているのですが、
外部cssで、以下のような全体にかかるスタイルを適用しています。
* {
border:0 none silver;
font-style:normal;
font-weight:normal;
}

このなかのborder: 0 none silver だけを
その外部のcssをいじることなく、html上で無効にしたいのです。
HTMLの方でstyleを使うことで上書きすることは可能なのですが、無効にするだけのやり方が分からず、質問させていただきました。よろしくお願いします。
(カテゴリを間違えていたため再投稿させて頂きました)

A 回答 (4件)

同じCSSをそのHTMLで上書きすれば、いいだけのことです。


外部CSSでやるなら、一番最後にリンクさせれば上書きできます。
HTML内でやるばあいも、最後に書きます。
    • good
    • 0

CSSの記述順番、登場順番はこの場合関係ないです。


これって初心者が良く間違うところです。順番が関係するのはあくまで、詳細度が同じ時だけです。
CSSには継承について詳しく書かれています。仕様書くらいは読みましょう。
6.4.1 カスケード処理の順序(Cascading order) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )

4. 最後に指定された順序によるソートを行う。 2つの規則が全く同じ優先度及び詳細度を持つ場合は、より後の位置で指定された規則が適用される。 取り込まれたスタイルシートは、すべての規則に先行するものとして扱う。
    • good
    • 0

そもそも、


* {
border:0 none silver;
font-style:normal;
font-weight:normal;
}
 んなお馬鹿な指定はすべきではありません。全称セレクタで指定するということは、すべてのセレクタについて上書きをするということに全く等しいのです。
 どこかのCSSを知らない人が始めたのでしょうが、それを消せば済むことです。
5.3 全称セレクタ(Universal selector) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )

せいぜい、
html,body{padding:0px;margin:0px}というタイプセレクタ(詳細度1)くらいで済ませるべきです。
 上書きで消したいなら、タイプセレクタを一個以上指定して、すべてその都度、詳細度を(タイプの数×指定数)にして上書きするしかありません。borderは継承しませんからね。

'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width'
Value: <border-width> | inherit
Initial: medium
Applies to: all elements
Inherited: no★
Percentages: N/A
Media: visual 
ボックスモデル ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )


そもそも
border:0 none silver;
font-style:normal;
font-weight:normal;
なんて、意味ないです。
borderを全称セレクタで0で決めると、hrのborderが消えてしまう。というか、borderは簡易プロパティですから、{幅、スタイル、色}を指定しますが、0とnoneは同じ意味(消える)です。
    • good
    • 0

何かのテクニックでしょうか?


全ての要素にボーダー:無しを設定する事自体が蛇足。
font-~~:normal;も同様。
なんの為にこのような設定にしているか全く不明ですが、
 * 全称セレクタにこのような設定をすべきでは無い事が前提。
------------------
仮に、設定するなら、
CSSで、
border: 0 solid silver;
noneではなく ↑ の border-styleを設定しつつ 0 で消しておく。

HTMLで、
<div style="border-width: 1px;">

解除は出来ないので、最小限の上書きにするしかない。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報