bootstrap菜单、按钮及导航学习笔记5-2

来源:互联网 发布:淘宝代销商品怎么下单 编辑:程序博客网 时间:2024/04/26 06:55

Bootstrap框架中的下拉菜单组件,其下拉菜单项默认是隐藏的,如下所示:


因为“dropdown-menu”默认样式设置了“display:none”,其详细源码请查看bootstrap.css文件第3010行~第3029行:

.dropdown-menu {  position: absolute;/*设置绝对定位,相对于父元素div.dropdown*/  top: 100%;/*让下拉菜单项在父菜单项底部,如果父元素不设置相对定位,该元素相对于body元素*/  left: 0;  z-index: 1000;/*让下拉菜单项不被其他元素遮盖住*/  <strong><span style="color:#ff0000;">display: none;/*默认隐藏下拉菜单项*/</span></strong>  float: left;  min-width: 160px;  padding: 5px 0;  margin: 2px 0 0;  font-size: 14px;  list-style: none;  background-color: #fff;  background-clip: padding-box;  border: 1px solid #ccc;  border: 1px solid rgba(0, 0, 0, .15);  border-radius: 4px;  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);}

当用户点击父菜单项时,下拉菜单将会被显示出来,如下所示:


当用户再次点击时,下拉菜单将继续隐藏,如下所示:


原理分析:


现在我们来分析一下实现原理,非常简单,通过js技术手段,给父容器“div.dropdown”添加或移除类名“open”来控制下拉菜单显示或

隐藏。也就是说,默认情况,“div.dropdown”没有类名“open”,当用户第一次点击时,“div.dropdown”会添加类名“open”;当用户再

次点击时,“div.dropdown”容器中的类名“open”又会被移除。我们可以通过浏览器的firebug查看整个过程:


默认情况:


用户第一次点击:


用户再次点击:

在bootstrap.css文件第3076行~第3078行,我们可以很容易发现:

.open > .dropdown-menu {  display: block;}


0 0
原创粉丝点击