2017-06-11 15 views
0

クラスを区切るためのカンマとその不在の違いを理解できません。また、グリッドシステムには「スケルトン」スタイルシートを使用しています。ここでは例です:htmlのクラスの構文上の割り当てで混乱しています

<div id="header_buttons" class="eleven columns, header_buttons"> 
    <button type="button"><a href="#">Github</a></button> 
</div> 

そして 'header_buttons' のため:カンマで

.header_buttons { 
    margin-left: 180px; 
} 

、私は私の意図した結果を得る:enter image description here

しかし、彼らなしでは、私の代わりにこれを取得: enter image description here

私はコンマを使用しないで複数のクラスを持つことの基礎を知っています。しかし、私の場合、私がそれらを取り除くと、なぜ私は意図した結果を得られないのでしょうか?

+0

@Michaelコーカーそれを見ることができます:なぜ「11」クラスを無効にする「列」の末尾にカンマを持つでしょうか? – BoltClock

+0

@BoltClock oops私は 'eleven'の代わりに' column'を意味しました –

答えて

1

スケルトンは.column:first-child { margin-left: 0; }を追加するため、ルールは.header_buttons { margin-left: 180px; }より高い特異性を持つようになります。

あなたのマークアップにカンマがなければ、.column:first-child { margin-left: 0; }は、そのルールが適用されなくなり、そしてあなたが.header_buttonsに指定したルールが適用されるように、スケルトンの.columnクラスを壊していないこと、スケルトンを介して印加されると、あなたがそこにカンマを追加すると.header_buttons { margin-left: 180px; }

が上書きされています。

あなたはここに

.header_buttons { 
 
    margin-left: 180px; 
 
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css" rel="stylesheet"/> 
 
<div id="header_buttons" class="eleven columns header_buttons"> 
 
    <button type="button"><a href="#">Github</a></button> 
 
</div> 
 

 
<div id="header_buttons" class="eleven columns, header_buttons"> 
 
    <button type="button"><a href="#">Github</a></button> 
 
</div>

+0

スケルトン*はカンマに頼っていません。これは質問者の一部の実験に過ぎませんでしたか? – BoltClock

+0

@BoltClock yessir。スケルトンがクラス名でカンマを実際に使用していた場合、それはうんざりです。あなたはスタイルシートでそれをエスケープする必要があります。それは複雑な混乱になります:) –

+0

ああ。まあ、グリッドシステムやその他のフレームワークがクラ​​ス属性で本当にクレイジーなことをしているのを見てきました。私は間違ってこの時間を仮定して推測:) – BoltClock

関連する問題