2017-01-25 16 views
1

[attribute=value]を学習しただけで、それ自体のスタイルは自身のという属性値に基づいて変更されました。他の要素のプロパティに基づいて要素のスタイルを変更

に基づいて要素のスタイルを変更したい場合は、要素の属性値を変更します。 ahrefが空白の場合のように、その後divを非表示にする必要があります。

a[href=""] then div 
{ 
    display:none 
} 
+0

それはまた、あなたの 'HTML'コードでdiv''の位置に依存します。 –

+0

'div'が' a'の子であれば動作します。あなたは – Justinas

+1

ない限り、「その他」の要素は、特定の属性を持つ要素の子孫で、後から兄弟以降、兄弟の下降が、あることを行うことができない以上、それは、子供ではない場合、これは不可能です。あなたのHTMLがなければ、どちらの方法でも言えません。ですから、「* [mcve] *」コードを表示して、私たちがあなたを助けたり、助言したりできるようにしてください。 –

答えて

1

これはあまりにもhref属性を持つことも可能であるなどの

何か。内側<div>

例:<div>以下と

a[href=""] div { 
 
    display:none; 
 
}
<a href=""> 
 
    <div>This is not visible!</div> 
 
</a>

例:

a[href=""] + div { 
 
    display:none; 
 
}
<a href="">This link should hide the following div!</a> 
 
<div>This is not visible!</div>

+0

はい、しかしあまりにも単純化され、問題に固有の注意点や問題については説明がありません。 –

-1
a[href="#"] + div { 
display: block; 
} 
a[href=""] + div{ 
display: none; 
} 


<a href="#"></a> 
<div></div> 

CSSは、タグ

+0

OPはこれをすでに理解しています。質問に直接参照されています。 –

0

のhref

.common { 
 
    width:300px; 
 
    height:300px; 
 
    float:left; 
 
} 
 
a[href="#one"] + div { 
 
    background:#000; 
 
} 
 
a[href="#two"] div { 
 
    background:red; 
 
}
<a href="#one">one</a> 
 
<div class="common"></div> 
 
<a href="#two"><div class="common"></div></a>

-1

そしてdiv<a>に含まれていない場合の例を試すに応じて適用されますあなたは、このようにそれを行うことができます。

a[href=""]:hover + div { 
    display:none; 
} 

aのようなインライン要素にdivなどのブロック要素を配置すると、XHTMLが検証されないため、これを意味すると思います。

関連する問題