2011-08-11 14 views
1

私は死ぬつもりです。今週はこれが二度目に起こっていますが、最初にどのように修正したのか分かりません。CSS:ヘッダーの要素を選択できませんか?

私は完全に無力で怒っています。まず、w3cバリデーターはエラーを表示しません。私のSASS Framework for CSSにはエラーはないと言われており、エラーはありません。これは、私は、ページ全体が正常にスタイル設定されているすべてである

...

<body> 

<div id="doc"> 

    <header> 

     <div class="inner"> 

      <div id="branding"> 
       <a class="logo" href="#">Jihaa</a> 
      </div> 

...と、突然...私はARRRRGGGGを#branding内.logoを選択することはできません。

#branding .logo { 
    width: 200px; 
    height: 70px; 
    background: red; 
} 

これは仕事を正しく行うはずですが、いいえです。

header #branding .inner .logo {または他の可能な組み合わせもありません。

なぜですか?私は完全に無力です。私のすべてのブラウザの検査ツールは、適切なCSSを選択しません。それはちょうどそれに関連していません!

+0

デモサイトまたはhttp://jsfiddle.netが可能ですか? –

+0

'header #branding .inner .logo'' .inner'が外に出ているので、これは動作しません。 – jackJoe

答えて

4

.logoは、インライン要素であり、widthheightを受け入れないaです。

display:inline-block;をスタイルに追加すると効果があります。

#branding .logo { 
    width: 200px; 
    height: 70px; 
    background: red; 
    display:inline-block; 
} 

EDITは以下@jackJoeのコメントに対処するために。

zoom:1; 
*display: inline; 
_height: 12px; //or whatever you need 
+1

'inline-block'はIE6 + 7ではサポートされていません。 – jackJoe

+0

True @jackJoe。しかし、OPは、彼がそれらのブラウザをサポートする必要があると言及しなかった。 –

+0

素敵な編集ジェイソン、+1 – jackJoe

1

私はあなたがそれので、アンカーのための幅や高さを設定することができるとは思わない:あなたはルールの下で次のように追加することができ、IE6や7をサポートする必要がある場合には

インライン要素です。

上記のJason Gennaroが使用している{display:inline-block;}を使用してください。

0

ページ内の他の場所では同じIDを使用しないでください。

タグからロゴクラスを取り出してdivに入れてみてください。この場合

1

あなたはこれらのプロパティでaのスタイルをしたい場合、あなたはあなたがそれを選択することができないと思わせる何かblock

#branding .logo { 
    width: 200px; 
    height: 70px; 
    background: red; 
    display: block; 
} 
0

にその表示を指定する必要がありますか?あなたの高さと幅があなたの.logoクラスで無視されている場合は、あなたがそれらを尊重するために:.logoブロックを表示する必要があるからです。

関連する問題