根据其他元素的属性更改元素的样式

时间:2017-01-25 08:57:04

标签: html css

我刚学会了[attribute=value],它会根据它的拥有属性值来改变自己的风格。

如果我想根据其他元素的属性值更改元素的样式。如果href的{​​{1}}为空,则应隐藏a

这样的东西
div

4 个答案:

答案 0 :(得分:1)

这也适用于href属性。

内部<div>的示例:

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

关注<div>的示例:

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

答案 1 :(得分:0)

尝试使用示例

.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>

答案 2 :(得分:-1)

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


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

CSS将根据标签的href应用

答案 3 :(得分:-1)

如果div中未包含<a>,您可以这样做:

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

我认为你的意思是这个,因为像div这样的内联元素中放置像a这样的块元素并不是经过XHTML验证的。