仅使用CSS隐藏Div

时间:2016-02-25 08:35:55

标签: html css

有没有办法只在点击链接时用css隐藏div。我没有制作需要能够在没有JS时关闭的弹出窗口。我已经尝试了各种方法但是当按钮位于需要隐藏的div内时它们没有工作。

3 个答案:

答案 0 :(得分:7)

  

当按钮位于需要隐藏的div内时。

简答:不,当按钮位于元素内部时,您无法实现此目的。 感谢Joseph Marikle

但是,当按钮位于div之外时,您可以实现此目的。

#hide {
  display: none;
}
label {
  cursor: pointer;
  text-decoration: underline;
}
#hide:checked ~ #randomDiv {
  display: none;
}
<input type="checkbox" id="hide" />


<div id="randomDiv">
  This is a div
  <label for="hide">Hide div</label>
</div>

答案 1 :(得分:0)

以下示例在选中复选框时隐藏div。

它使用#closebutton ~ #targetdiv {...选择器,只适用于此订单上的元素。因此,复选框位于布局上的主div内部,但在代码之前。

.main {
  border-radius: 5px;
  padding: 30px;
  margin-bottom: 5px;
}

#A {
  background: gold;
}

#B {
  background: skyblue; 
}

#C {
  background: yellowgreen; 
}

.close {
  float: right;
  margin-top: 30px;
  margin-right: 75px;
  height: 20px;
  width: 20px;
}

.close:checked {
  display: none;
}

.close:checked ~ #A, .close:checked ~ #B, .close:checked ~ #C {
  display: none;
}

body {
  overflow-y: scroll;  
}
<div id=groupA><input class="close" type="checkbox">
<div id=A class=main>info A</div></div>

<div id=groupB><input class="close" type="checkbox">
<div id=B class=main>info B</div></div>

<div id=groupC><input class="close" type="checkbox">
<div id=C class=main>info C</div></div>

答案 2 :(得分:0)

id:254