2011-09-13 9 views
0

のは、私たちは、私はCSSのように定義している今、私は2つの幅の宣言を持っています。どちらが適用されますか?

<html> 
<body> 
    <table id="myTable"> 
    </table> 
</body> 
</html> 

ような構造を持っているHTMLページがあるとしましょう。

今私の質問は、このテーブルを間接的にも、ビューポート(または使用可能なブラウザスペース)に影響されている
#myTable {width:100%;width:900px;} 

だから、2つの値(PXまたは%)のうち、何が勝つでしょうか?それは、テーブルが実際にレイアウトにどれだけのスペースを占めるのでしょうか?現在のブラウザのスペースが1000pxの場合、その値をとる(つまり、900px値を100%オーバーライドすることを意味します) より広いレベルで、%or px値が常に勝つという一般的なことができますか? これは、設定されているDOCTYPEに依存しますか?

私を助けてください。あなたをThnak。

答えて

5

2つの値(pxまたは%)のうち、どのようなものが勝つのでしょうか?

ピクセル単位で定義されているため、ピクセル幅は勝てません。

同じルールセット内に2つのルールが表示されるため、セレクタは同一であるため同一性があり、最後のものが優先されます。

単位の選択は無関係です。

+0

を作っているよう幅が200pxのだろうケースは%の価値を獲得しましたか? – testndtv

+1

はい...またはピクセル値を削除してください。 '{foo:bar; foo:baz} 'は' {foo:baz} 'と同じ意味ですが、後者のほうが混乱が少なく、帯域幅も少なくて済む点が異なります。1つのルールセットで同じプロパティ名を2回使用する必要があるのは、常にサポートされていない値を扱うときだけです(たとえば、[rgb fallback with rgb colors](http://dorward.me.uk/www/css/alpha-color /#fallback-color)) – Quentin

+0

これは、 '#myTable {width:100%;} #myTable {width:900px;}'とすると、pxが勝つピクセルは最後です。しかし、これは完全な#myTableが上書きされることを意味するものではありません。 –

0

PXは、それは900pxの代わりに、私はその理由を知らないが、私はそれが

+0

最後のスタイルを定義します...もし900pxを100%よりも前に置くと、100%ではなく100%を表示します –

0

PXは、その背後にある理由は、最後の値がピクセルであるある勝つテストを持っている幅の100%となります勝ちます。 CSSファイルが検出されるたびに、上から下にチェックされ、最後に見つかったものが適用されます。例

のために、私たちはその後、再び一番下に、我々は、IDのホームを持つ要素は、そのフォントの色として赤があります

#home {width:100%;color:red;} 

を定義

#home {width:100%;color:#fffccc;} 

を持っています。

0

CSSでは、前に定義されたスタイルが重要でない限り、常に最後に定義されたスタイルが優先されます。この場合

例えば

.myClass{ 
    width: 200px; 
    width: 400px; 
} 

幅はそれとして400ピクセルCSSが解析されたときに最後に表示されたルールになります。この場合

.myClass{ 
    width: 200px !important; 
    width: 400px; 
} 

ピクセル値が、その中で、最初にして%を歩んでいるならば、それはルールは、CSSでOk..So 重要

関連する問題