html - 当我点击复选框时,只有一个 ul 标签在屏幕上可见

标签 html css checkbox

我不明白为什么当我点击复选框时,屏幕上只显示带有 id=menu 而不是 id=social 的 ul 标签。 我需要在每个 ul 标签中设置 display:block。

.show-menu {
    display:block;
}
#menu{
  float:left;
}
#social{
    float:right;
}
ul {
    display: none;
}
input[type=checkbox]{
    display: none;
}
input[type=checkbox]:checked ~ #menu{
    display: block;
}
input[type=checkbox]:checked #social{
    display: block;
}
<label for="show-menu" class="show-menu">&#9776;</label>
<input type="checkbox" id="show-menu" role="button"/>
<ul id="menu">
    <li><a href="home.php">Home</a></li>
    <li><a href="news.php">News</a></li>
    <li><a href="about.php">About</a></li>
</ul>
<div> 
	<ul id="social">
		<li><a href="login.php">Login</a></li>
		<li><a href="register.php">Register</a></li>
    </ul>
</div>

最佳答案

因为 #social 周围的 div。 ~ 是兄弟选择器。如果您需要 div,您可以尝试将 input[type=checkbox]:checked ~ div #social 作为 CSS 选择器。

.show-menu {
    display:block;
}
#menu{
  float:left;
}
#social{
    float:right;
}
ul {
    display: none;
}
input[type=checkbox]{
    display: none;
}
input[type=checkbox]:checked ~ #menu{
    display: block;
}
input[type=checkbox]:checked ~ #social{
    display: block;
}
<label for="show-menu" class="show-menu">&#9776;</label>
<input type="checkbox" id="show-menu" role="button"/>
<ul id="menu">
    <li><a href="home.php">Home</a></li>
    <li><a href="news.php">News</a></li>
    <li><a href="about.php">About</a></li>
</ul>
<ul id="social">
	<li><a href="login.php">Login</a></li>
	<li><a href="register.php">Register</a></li>
</ul>

关于html - 当我点击复选框时,只有一个 ul 标签在屏幕上可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49977887/

相关文章:

php - 当用户单击 Laravel 4 中的表头时,如何按表排序?

javascript - 拖放填充空白

css - 你能为 CSS 中的一个元素分配两个按钮来触发动画吗?

javascript - 表格标题颜色复选框选中/取消选中

javascript - 如何在 jQuery 点击函数中使用 jQuery 时间间隔?

javascript - 在 textarea 中呈现 HTML

javascript - 如何摆脱 Firefox 中相对定位的 div 留下的空白?

html - 修复了 Iphone 上的全屏背景图像行为怪异

html - 在Chrome devTool中,为什么console.log(window.innerWidth)=981,而设置为iphone6 mode(375*667)

javascript - 使用复选框中的值填充文本框