使用checkbox实现纯CSS下拉框

今天给大家讲一个css例子,主要内容是使用checkbox实现纯css下拉框,要用到了HTML元素的checkbox 和CSS3选择器(http://www.maiziedu.com/course/web/228-2627/),并没有用到JavaScript。例子如下:

实现过程:

HTML结构

<div class="dropdown">

<input type="checkbox" id="checkbox_toggle">

<label for="checkbox_toggle">Click to Expand</label>

<ul>

<li><a href="#">Link One</a></li>

<li><a href="#">Link Two</a></li>

<li><a href="#">Link Three</a></li>

<li><a href="#">Link Four</a></li>

</ul></div>

#div作为一个容器包裹所有标签

#input[type=checked]标签用于标识checked 和unchecked 属性,元素是隐藏的

#label标签用于触发下拉菜单

#ul为菜单列表

添加Checkbox Hack

我们只需要checkbox元素的伪类选择器:checked就可以检测到元素的checked状态,通过label标签来触发checkbox的unchecked 和checked 状态。首先把checkbox隐藏

input[type=checkbox]{

display: none;

}

同时,我们也把ul默认隐藏掉,当触发菜单时才会显示。

ul{

display: none;

}

通过结合:checked选择器 和相邻同胞选择器~ 来控制对应的菜单的显示状态。

input[type=checkbox]:checked ~ ul {

display: block

}

当checkbox为选中状态时,下拉菜单就显示,否则隐藏。

时间: 2024-10-14 12:58:04

使用checkbox实现纯CSS下拉框的相关文章

支持多种浏览器的纯css下拉菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312

CSS+JS下拉菜单和纯CSS下拉菜单

一.CSS+JS下拉菜单 原理:一级菜单的li中包含二级菜单ul.在鼠标没有移上去时,二级菜单的ul是display:none的状态,鼠标一移上去变成display:block.改变这个display属性值是通过JS来实现.鼠标hover时,把整个二级菜单的ul给display出来,用到的事件onmouseonver.鼠标移出又把整个二级菜单的ul 给隐藏掉. nav-js.html文件 <!DOCTYPE html > <html> <head> <meta c

纯CSS下拉菜单代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

纯CSS下拉导航和jquery下拉导航对比

纯css实现的下拉导航demo:http://codepen.io/tianzi77/pen/xGOyxp 不用javascript以及jquery动态效果实现导航条的下拉效果.纯css属性实现,主要应用到绝对定位中的left:auto和left:-9999px:来隐藏或者鼠标经过的时候显示下拉菜单. htm结构: <ul class="nav"> <li><a href="/">小哲</a></li> &

纯CSS下拉导航菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>

css实现下拉框

CSS: a, label { display: block; border-bottom: 1px solid #ccc; padding: 1em 2em; width: 100%; color: #000; text-decoration: none; cursor: pointer; } .all-items { display: none; } .show-all { display: none; } .list { position: relative; padding-bottom

css制作三角形,下拉框三角形

网站制作中常常需要下拉框,而如果下拉框如果只是单纯的矩形则会显得太过单调,所以这次教大家利用css制作三角形放在矩形上面 首先利用css制作三角形 div { width:0px; height:0px; border-top:20px solid transparent; border-left:20px solid transparent; border-right:20px solid transparent; border-bottom:20px solid green; } <div>

css模拟下拉框,vue获取双向绑定的值

原生的下拉框用vue获取值双向绑定简直不要太好用,Duang的一下就行了 <div id="datePrice"> <select v-model="selected" id="dataSel" class="dataSel" v-on:change="change"> <option v-for="item in dateList" v-bind:valu

代教材之(用DIV+CSS定义漂亮下拉框select)

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <title>代教材之