第七章之菜单按钮图标组件


Posted in Javascript onApril 25, 2016

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。

学习要点:

1.小图标组件

2.下拉菜单组件

3.按钮组组件

4.按钮式下拉菜单

本节课我们主要学习一下 Bootstrap 的三个组件功能:小图标组件、下拉菜单组件和各种按钮组件。

一.小图标组件

Bootstrap 提供了免费的 263 个小图标(数了两次),具体可以参考中文官网的组件链接:

http://v3.bootcss.com/components/#glyphicons。

部分图标如下:

第七章之菜单按钮图标组件 

可以使用<i>或<span>标签来配合使用,具体如下:

//使用小图标
<i class="glyphicon glyphicon-star"></i>
<span class="glyphicon glyphicon-star"></span> 
//也可以结合按钮
<button class="btn btn-default btn-lg">
<span class="glyphicon glyphicon-star"></span>
</button>
<button class="btn btn-default btn">
<span class="glyphicon glyphicon-star"></span>
</button>
<button class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-star"></span>
</button>
<button class="btn btn-default btn-xs">
<span class="glyphicon glyphicon-star"></span>
</button>

二.下拉菜单组件

下拉菜单,就是点击一个元素或按钮,触发隐藏的列表显示出来。

//基本格式
<div class="dropdown">
<button class="btn btn-default" data-toggle="dropdown">
下拉菜单
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">首页</a>
</li>
<li>
<a href="#">资讯</a>
</li>
<li>
<a href="#">产品</a>
</li>
<li>
<a href="#">关于</a>
</li>
</ul>
</div>

按钮和菜单需要包裹在.dropdown 的容器里,而作为被点击的元素按钮需要设置data-toggle="dropdown"才能有效。对于菜单部分,设置 class="dropdown-menu"才能自动隐藏并添加固定样式。设置 class="caret"表示箭头,可上可下。

//设置向上触发
<div class="dropup"> 
//菜单项居右对齐,默认值是 dropdown-menu-left
<ul class="dropdown-menu dropdown-menu-right"> 
//设置菜单的标题,不要加超链接
<li class="dropdown-header">网站导航</li> 
//设置菜单的分割线
<li class="divider"></li> 
//设置菜单的禁用项
<li class="disabled"><a href="#">产品</a></li> 
//让菜单默认显示
<div class="dropdown open">

三.按钮组组件

按钮组就是多个按钮集成在一个容器里形成独有的效果。

//基本格式
<div class="btn-group">
<button type="button" class="btn btn-default">
左
</button>
<button type="button" class="btn btn-default">
中
</button>
<button type="button" class="btn btn-default">
右
</button>
</div> 
//将多个按钮组整合起来便于管理
<div class="btn-toolbar">
<div class="btn-group">
<button type="button" class="btn btn-default">
左
</button>
<button type="button" class="btn btn-default">
中
</button>
<button type="button" class="btn btn-default">
右
</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default">
</button>
<button type="button" class="btn btn-default">
</button>
<button type="button" class="btn btn-default">
</button>
</div>
</div> 
//设置按钮组大小
<div class="btn-group btn-group-lg">
<div class="btn-group>
<div class="btn-group btn-group-sm">
<div class="btn-group btn-group-xs"> 
//嵌套一个分组,比如下拉菜单
<div class="btn-group">
<button type="button" class="btn btn-default">
左
</button>
<button type="button" class="btn btn-default">
中
</button>
<button type="button" class="btn btn-default">
右
</button>
<div class="btn-group">
<button class="btn btn-default dropdown-toggle"
data-toggle="dropdown">
下拉菜单
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">首页</a>
</li>
<li>
<a href="#">资讯</a>
</li>
<li>
<a href="#">产品</a>
</li>
<li>
<a href="#">关于</a>
</li>
</ul>
</div>
</div>

注意:这里<div>中并没有实现 class="dropdown",通过源码分析知道嵌套本身已经有定位就不需要再设置。而右边的圆角只要多加一个 class="dropdown-toggle"即可。

//设置按钮组垂直排列
<div class="btn-group-vertical"> 
//设置两端对齐按钮组,使用<a>标签
<div class="btn-group-justified">
<a type="button" class="btn btn-default">左</a>
<a type="button" class="btn btn-default">中</a>
<a type="button" class="btn btn-default">右</a>
</div> 
//如果需要使用<button>标签,则需要对每个按钮进行群组
<div class="btn-group-justified">
<div class="btn-group">
<button type="button" class="btn btn-default">
左
</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default">
中
</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default">
右
</button>
</div>
</div>

四.按钮式下拉菜单

这个下拉菜单其实和第二个知识点一样,只不过,这个是在群组里,不需要<div>声明class="dropdown"。

//群组按钮下拉菜单
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle"data-toggle="dropdown">
下拉菜单
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">首页</a>
</li>
<li>
<a href="#">资讯</a>
</li>
<li>
<a href="#">产品</a>
</li>
<li>
<a href="#">关于</a>
</li>
</ul>
</div> 
//分裂式按钮下拉菜单
<div class="btn-group">
<button type="button" class="btn btn-default">
下拉菜单
</button>
<button type="button" class="btn btn-default dropdown-toggle"data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">首页</a>
</li>
<li>
<a href="#">资讯</a>
</li>
<li>
<a href="#">产品</a>
</li>
<li>
<a href="#">关于</a>
</li>
</ul>
</div> 
//向上弹出式
<div class="btn-group dropup">

以上内容是小编给大家介绍的BootStrap组件之菜单按钮图标组件,希望对大家有所帮助!

Javascript 相关文章推荐
JavaScript 面向对象之命名空间
May 04 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
jQuery解决浏览器兼容性问题案例分析
Apr 15 Javascript
微信小程序(应用号)开发新闻客户端实例
Oct 24 Javascript
基于vue实现swipe轮播组件实例代码
May 24 Javascript
手把手教你搭建ES6的开发运行环境
Jul 11 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
JS如何把字符串转换成json
Feb 21 Javascript
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
Jul 24 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
OpenLayers3实现图层控件功能
Sep 25 Javascript
第九章之路径分页标签与徽章组件
Apr 25 #Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 #Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 #Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 #Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 #Javascript
深入浅析JavaScript中数据共享和数据传递
Apr 25 #Javascript
Bootstrap项目实战之首页内容介绍(全)
Apr 25 #Javascript
You might like
php max_execution_time执行时间问题
2011/07/17 PHP
PHP缓冲区用法总结
2016/02/14 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
Python中的lstrip()方法使用简介
2015/05/19 Python
浅析Python中else语句块的使用技巧
2016/06/16 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
在双python下设置python3为默认的方法
2018/10/31 Python
python 读取数据库并绘图的实例
2019/12/03 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
利用python 下载bilibili视频
2020/11/13 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
餐饮业员工工作决心书
2014/03/11 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
自主招生学校推荐信
2014/09/26 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python