html - CSS 中的显示条件

标签 html css conditional-statements

我想为我的响应式设计创建一个菜单按钮。 我想在用户单击按钮时显示菜单,并在用户单击返回时隐藏它。

我的 Html 代码如下:

<!-- Invisible checkbox -->
<input type="checkbox" class="menu_hidden_checkbox" id="show_menu" role="button" />

<!-- Menu button -->
<label for="show_menu" class="btn btn-navbar"><i class="icon-align-justify"></i></label>

我使用的关联 CSS 代码是:

.menu_hidden_checkbox{border:0;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;} */
.menu_hidden_checkbox:checked +.left-menu{display:block;}

上面的代码根本不起作用。选中该复选框时,什么也不会发生。

我是不是做错了什么?

JSFiddle:http://jsfiddle.net/P8DJZ/ (展开行以查看全屏/智能手机模式)

最佳答案

解决方法如下:

把你的开关按钮放在任何你想放的地方:

<label for="show_hide">Click here to hide/show the div</label>

将此代码放在要显示/隐藏的 div 之前:

<input type="checkbox" class="hidden_checkbox" id="show_hide" />

例如,如果你想隐藏这个div,就这样做:

<input type="checkbox" class="hidden_checkbox" id="show_hide" />
<div class="hidden_div">
    Your hidden content will be there.
</div>

然后在您的 CSS 文件中,添加以下代码:

.hidden_checkbox{border:0;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;}
.hidden_div{display:none;}
.hidden_checkbox:checked + .hidden_div{display:block;}

第一行将隐藏复选框,因此用户只能使用您的切换按钮,而不能直接使用复选框。第二行将隐藏您的 div。 第三行也是最后一行是一个条件,当且仅当选中 hidden_​​checkbox 时,才会将您的 div 显示更改为 block

基本上,当用户点击切换按钮时,隐藏的复选框将被选中,hidden_​​div 将出现。如果他再次点击该按钮,hidden_​​div 应该会消失。

我希望这可以帮助某人。

关于html - CSS 中的显示条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19360111/

相关文章:

javascript - 如何在 jquery 中创建函数并重用它们

javascript - Handsontable - 无法为自定义单元格设置千位分隔符

ruby - 如果我的 case 语句的任何分支被调用,我可以设置一个变量吗?

mysql - 在 MySQL 查询中的 IF 别名上添加 WHERE 条件

r - 在 R 中按排名和条件提取行

html - 这个类在一个类中吗?

html - 如何居中下拉菜单?

html - 移动设备放大 Google Apps 脚本

css - ie 的不同 css,不工作

javascript - 响应模式下底部背景位置错误