CSS实现控制元素的显示和隐藏
1 使用label + input实现元素的隐藏和显示
以下代码点击‘菜单’可以实现li列表的显示和隐藏:
<style type="text/css"> *{ margin: 0; padding: 0; } input, ul{ display: none; } input:checked ~ ul { display: block; } </style> <body> <label for="menu">菜单</label> <div> <input id="menu" type="checkbox"/> <ul> <li>1</li> <li>1</li> <li>1</li> </ul> </div> </body>
~选择器:
element1~element2 选择器 element1 之后出现的所有 element2。两种元素必须拥有相同的父元素,但是 element2 不必直接紧随 element1。
2 hover实现鼠标悬浮时显示其他元素,离开时隐藏这个元素
以下代码实现鼠标放到‘菜单’时显示li列表,离开时隐藏li列表:
<style type="text/css"> *{ margin: 0; padding: 0; } input, ul{ display: none; } #btn:hover ~ ul { display: block; } </style> <body> <spanid="btn">菜单</span> <ul> <li>1</li> <li>1</li> <li>1</li> </ul> </body>
3 button + focus点击指定按钮时显示,点击其他地方时隐藏
以下代码实现点击‘菜单’时显示li列表,点击除‘菜单’以外的地方隐藏li列表:
<style type="text/css"> *{ margin: 0; padding: 0; } input, ul{ display: none; } #btn:focus ~ ul { display: block; } </style> <body> <button id="btn">菜单</button> <ul> <li>1</li> <li>1</li> <li>1</li> </ul> </body>