按钮(嵌套分组)

使用的时候,只需要把当初制作下拉菜单的“dropdown”的容器换成“btn-group”,并且和普通的按钮放在同一级。如下所示:

<div class="btn-group">
<button class="btnbtn-default" type="button">首页</button>
<button class="btnbtn-default" type="button">产品展示</button>
<button class="btnbtn-default" type="button">案例分析</button>
<button class="btnbtn-default" type="button">联系我们</button>
<div class="btn-group"><button class="btnbtn-default dropdown-toggle" data-toggle="dropdown" type="button">关于我们<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>

实现的样式代码:

/*查看bootstrap.css文件第3192行~第3223行*/

.btn-group > .btn-group {float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {border-radius: 0;
}
.btn-group > .btn-group:first-child> .btn:last-child,
.btn-group > .btn-group:first-child> .dropdown-toggle {border-top-right-radius: 0;border-bottom-right-radius: 0;
}
.btn-group > .btn-group:last-child> .btn:first-child {border-top-left-radius: 0;border-bottom-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {outline: 0;
}
.btn-group > .btn + .dropdown-toggle {padding-right: 8px;padding-left: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {padding-right: 12px;padding-left: 12px;
}
.btn-group.open .dropdown-toggle {-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-group.open .dropdown-toggle.btn-link {-webkit-box-shadow: none;box-shadow: none;
}

按钮(垂直分组)

前面看到的示例,按钮组都是水平显示的。但在实际运用当中,总会碰到垂直显示的效果。在Bootstrap框架中也提供了这样的风格。我们只需要把水平分组的“btn-group”类名换成“btn-group-vertical”即可。如下所示:

<div class="btn-group-vertical">
<button class="btnbtn-default" type="button">首页</button>
<button class="btnbtn-default" type="button">产品展示</button>
<button class="btnbtn-default" type="button">案例分析</button>
<button class="btnbtn-default" type="button">联系我们</button>
<div class="btn-group"><button class="btnbtn-default dropdown-toggle" data-toggle="dropdown" type="button">关于我们<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>

按钮(等分按钮)

等分按钮的效果在移动端上特别的实用。整个按钮组宽度是容器的100%,而按钮组里面的每个按钮平分整个容器宽度。例如,如果你按钮组里面有五个按钮,那么每个按钮是20%的宽度,如果有四个按钮,那么每个按钮是25%宽度,以此类推。

等分按钮也常被称为是自适应分组按钮,其实现方法也非常的简单,只需要在按钮组“btn-group”上追加一个“btn-group-justified”类名,如下所示:

<div class="btn-wrap">
<div class="btn-group btn-group-justified"><a class="btnbtn-default" href="#">首页</a><a class="btnbtn-default" href="#">产品展示</a><a class="btnbtn-default" href="#">案例分析</a><a class="btnbtn-default" href="#">联系我们</a>
</div>
</div>

实现原理非常简单,把“btn-group-justified”模拟成表格(display:table),而且把里面的按钮模拟成表格单元格(display:table-cell)。具体样式代码如下:

/*源码请查看bootstrap.css文件第3277行~第3291行*/

.btn-group-justified {display: table;width: 100%;table-layout: fixed;border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {display: table-cell;float: none;width: 1%;
}
.btn-group-justified > .btn-group .btn {width: 100%;
}

特别声明:在制作等分按钮组时,请尽量使用<a>标签元素来制作按钮,因为使用<button>标签元素时,使用display:table在部分浏览器下支持并不友好

按钮下拉菜单

按钮下拉菜单仅从外观上看和上一节介绍的下拉菜单效果基本上是一样的。不同的是在普通的下拉菜单的基础上封装了按钮(.btn)样式效果。简单点说就是点击一个按钮,会显示隐藏的下拉菜单。

按钮下拉菜单其实就是普通的下拉菜单,只不过把“<a>”标签元素换成了“<button>”标签元素。唯一不同的是外部容器“div.dropdown”换成了“div.btn-group”。如下所示:

<div class="btn-group"><button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">按钮下拉菜单<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>

实现样式代码如下:

/*查看bootstrap.css文件第3204行~第3223行*/

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {outline: 0;
}
.btn-group > .btn + .dropdown-toggle {padding-right: 8px;padding-left: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {padding-right: 12px;padding-left: 12px;
}
.btn-group.open .dropdown-toggle {-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-group.open .dropdown-toggle.btn-link {-webkit-box-shadow: none;box-shadow: none;
}

按钮的向下向上三角形

按钮的向下三角形,我们是通过在<button>标签中添加一个“<span>”标签元素,并且命名为“caret”:

<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">按钮下拉菜单<span class="caret"></span></button>

这个三角形完全是通过CSS代码来实现的:

/*源码请查看bootstrap.css文件第2994行~第3003行*/

.caret {display: inline-block;width: 0;height: 0;margin-left: 2px;vertical-align: middle;border-top: 4px solid;border-right: 4px solid transparent;border-left: 4px solid transparent;
}

另外在按钮中的三角形“caret”做了一定的样式处理:

/*源码查看bootstrap.css文件第3224行~第3233行*/

.btn .caret {margin-left: 0;
}
.btn-lg .caret {border-width: 5px 5px 0;border-bottom-width: 0;
}
.dropup .btn-lg .caret {border-width: 0 5px 5px;
}

有的时候我们的下拉菜单会向上弹起(接下来一个小节会介绍),这个时候我们的三角方向需要朝上显示,实现方法:需要在“.btn-group”类上追加“dropup”类名(这也是做向上弹起下拉菜单要用的类名)。

/*源码请查看bootstrap.css文件第3109行~第3114行*/

.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {content: "";border-top: 0;border-bottom: 4px solid;
}

上面代码中可以看出,向上三角与向下三角的区别:其实就是改变了一个border-bottom的值。

下面是向上弹起菜单的例子:

<div class="btn-group dropup"><button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">按钮下拉菜单<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>

向上弹起的下拉菜单

有些菜单是需要向上弹出的,比如说你的菜单在页面最底部,而这个菜单正好有一个下拉菜单,为了让用户有更好的体验,不得不让下拉菜单向上弹出。在Bootstrap框架中专门为这种效果提代了一个类名“dropup”。使用方法正如前面所示,只需要在“btn-group”上添加这个类名(当然,如果是普通向上弹出下拉菜单,你只需要在“dropdown”类名基础上追加“dropup”类名即可)。

<div class="btn-group dropup"><button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">按钮下拉菜单<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>

转载于:https://blog.51cto.com/1044611640/1722427

bootstrap按钮组(二)相关推荐

  1. Bootstrap 按钮组

    按钮组允许多个按钮被堆叠在同一行上.当你想要把按钮对齐在一起时,这就显得非常有用.您可以通过 Bootstrap 按钮(Button) 插件 添加可选的 JavaScript 单选框和复选框样式行为. ...

  2. Bootstrap按钮组嵌套

    按钮组嵌套 按钮组允许嵌套,即可以在一个.btn-group中嵌套另一个.btn-group.比如,当你想给按钮组中的某一个按钮添加下拉菜单时,就会用到这种嵌套结构.如: <div class= ...

  3. Bootstrap按钮组中按钮的尺寸

    按钮的尺寸 在按钮组中,你可以为每个按钮应用按钮的尺寸类,如 .btn-lg..btn-sm或.btn-xs ,来调整按钮的大小. 考虑到这种方式比较麻烦,Bootstrap专门为按钮组提供了额外的尺 ...

  4. 使用bootstrap按钮组并设置其按钮组中按钮的尺寸和距离

    先说要求的样式: 像悬浮窗一样固定在网页上: 代码如下: <!DOCTYPE html> <html><head><meta charset="UT ...

  5. bootstrap42-Bootstrap 按钮组

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. Bootstrap组件——【按钮(预定义样式类、边框颜色、大小、激活和禁用状态 、按钮标签)、按钮组(定义按钮组、工具栏按钮组、大小、嵌套按钮、垂直排列)、下拉菜单(定义下拉菜单、下拉菜单样式)】

    一.按钮        按钮是网页中不可缺少的一种组件,例如页面中搜索.注册等按钮.按钮还广泛应用于表单.下拉菜单.模态框等场景中. 1.预定义样式类 Bootstrap提供了btn来定义按钮,btn ...

  7. 【Bootstrap】前端美化—Bootstrap实现按钮组分散对齐

    一.美化代码与图示 1.1 美化前 1.2 美化后 1.3 代码 <div class="row justify-content-between"> <div c ...

  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:按钮组

    <!DOCTYPE html> <html> <head><meta charset="utf-8"> <title>B ...

  9. Bootstrap组件_按钮组

    按钮组通过按钮组容器把一组按钮放在同一行里.通过与按钮插件联合使用,可以设置为单选框或多选框的样式和行为.<!DOCTYPE html> <html lang="en&qu ...

最新文章

  1. DOS 和 Linux 常用命令的对比
  2. Android开发日常笔记
  3. iOS原生地图与高德地图的使用
  4. matlab datetime时间处理、时间转换
  5. java代码数据库添加操作_java连接数据库后进行更新插入操作
  6. Python导入CSV短代码(pandas?),以';'分隔 和','全部
  7. select2 change之前的改变
  8. 【线上分享】华为云RTC服务架构及应用实践
  9. Qt多线程端口扫描工具(开源)
  10. python图像边缘检测_使用python获取图像中形状的轮廓(x,y)坐标
  11. JDK源码分析(2)LinkedList
  12. Atitit springboot mybatis spring 集成 Springboot1.4 mybatis3.4.6 /springbootMybatis 目录 1.1. 设置map
  13. Matlab非线性拟合函数——nlinfit
  14. C语言---内存操作及基础知识
  15. DEDECMS留言薄全站调用方法
  16. vivado生成bit流错误:Combinatorial Loop Alert
  17. Ubuntu16.06 单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法
  18. C语言数据结构 (清华大学出版社【严蔚敏版】参考)
  19. IBM ServerGuide 9.0
  20. 〖Python自动化办公篇⑭〗- Excel 文件自动化 - 写入图表

热门文章

  1. C++开发的应用方向有哪些?
  2. 开课吧Java面试题:虚引用与软引用和弱引用的区别
  3. 开课吧Java课堂:StringBuffer全解,非常详细
  4. 【Linux】Linux JSON 格式化输出
  5. Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解
  6. nodejs爬虫基础(二)
  7. Hp服务器 iLO3 使用方法
  8. ps -ef|grep httpServer|grep -v grep|cut -c 9-15|xargs kill -9
  9. MongoDB 聚合管道(Aggregation Pipeline)
  10. keras可视化模型