2017-10-26 13 views
0

これは、私が何もしないクラスではほとんど一定していない問題です。この場合、私はサイドバーと呼ばれるクラス内のボタンと呼ばれるクラスのボタン効果を作りようとしています。CSSのネストされたクラスセレクタが動作しない

<nav class="sidebar"> 

<div class="button"> 

<a href="C:\Users\x0268255\Documents\cats_page\North_America.html" North 
America> North America </a> 
</div> 

</nav> 

HTMLは、CSSのために、私が使用しているものは問題ではありません。 .buttonまたは任意の組み合わせを使用すると、何も行われません。例:

a { 
    border: 3px outset blue; 
    padding: 30px; 
    font-size: 20px; 
    background-color: hsl(210, 64%, 48%); 
    text-decoration:none; 
    color: white; 
} 

何もしません。また、.buttonまたはdiv.buttonもありません。サイドバーにスタイルを適用すると機能しますが、個々のリンクを個々のボタンにしてクリック可能なリンクのリストにすることを明示します。

+0

「North America」タグ内(任意の属性外)...これは有効なHTMLマークアップではありません。これで何を達成したいですか? –

+1

私のためにうまく動作します:[fiddle](https://jsfiddle.net/Kasalop/cb42ckrj/)。このエラーは、示されたコードの断片にはありません。 –

+0

これは何もしないか、境界線がないだけですか?私はあなたの国境のためのブロック要素である必要があると思う。 "display:block;"を試してください。 また、ブラウザのf12開発ツールを使用して、aが他の場所で変更されていないことを確認します。もしそうなら、 "div.button> a"のようなより具体的なセレクタ – realbart

答えて

-2

aはブロック要素ではないので、パディングと境界線と背景の色が正常に動作しません。それインラインブロックしてください:

a { 
    display:inline-block; 
    border: 3px outset blue; 
    padding: 30px; 
    font-size: 20px; 
    background-color: hsl(210, 64%, 48%); 
    text-decoration:none; 
    color: white; 
} 

はalseあなたがaをスタイリングした後.button aまたはdiv aまたは.sidebar aaスタイルをoverrdideしていないことを確認してください。

+0

しかし、それは動作します...この[フィドル](https://jsfiddle.net/Kasalop/cb42ckrj/)を見てください。私は何が問題なのか分かりませんが、あなたの答えで解決しようとするような問題ではありません。 –

+0

ブロックスタイルはインライン要素で変わってしまい、どのようにレンダリングされるかは保証されていません。上記のフィドルでは、トップパッディングは表示されませんが、ダブルサイズのパッディングが下部に適用されます(Chrome 61.0.3163.100) –

+0

結果を[fiddle](https://jsfiddle.net/cb42ckrj/2/)と比較してください –

関連する問題