Bootstrap 框架-按钮组组件

news/2024/7/23 14:08:24 标签: Bootstrap按钮组组件
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">

按钮组也是一个独立的组件,所以可以找到对应的源码文件:

LESS 版本:对应的源文件为 buttons.less

Sass 版本:对应的源文件为 _buttons.scss

☑ CSS 版本:对应 bootstrap.css 文件第3131行~第3291行

使用方法

按钮组和下拉菜单组件一样,需要依赖于 button.js 插件才能正常运行。不过我们同样可以直接只调用 bootstrap.js 文件。因为这个文件已集成了 button.js 插件功能。

使用一个名为“btn-group”的容器,把多个按钮放到这个容器中。如下所示:

<body>

<div class="btn-group">
    <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button>
    <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-zoom-in"></span></button>
    <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-zoom-out"></span></button>
    <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-download"></span></button>
    <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-upload"></span></button>
</div>

  <script src="http://img.mukewang.com/down/53c6484f00013d9300000000.js"></script>
  <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 
</body>

按钮组

除了可以使用 <button> 元素之外,还可以使用其他标签元素,比如 <a> 标签。唯一要保证的是:不管使用什么标签,“.btn-group”容器里的标签元素需要带有类名“.btn”。

我们平常制作网页时每个按钮都是带有圆角,而在按钮组中的按钮,除了第一个和最后一个具有边上的圆角之外,其他的按钮没有圆角,它是怎么实现的呢?

  • 默认所有按钮都有圆角
  • 除第一个按钮和最后一个按钮(下拉按钮除外),其他的按钮都取消圆角效果
  • 第一个按钮只留左上角和左下角是圆角
  • 最后一个按钮只留右上角和右下角是圆角

按钮工具栏

按钮组分组排列在一起,只需要将按钮组“btn-group”按组放在一个大的容器“btn-toolbar”中,如下所示:

<div class="btn-toolbar">
  <div class="btn-group"></div>
  <div class="btn-group"></div>
  <div class="btn-group"></div>
  <div class="btn-group"></div>
</div>

实现原理主要是让容器的多个分组“btn-group”元素进行浮动,并且组与组之前保持 5px 的左外距。

按钮组大小设置

我们知道按钮是通过 btn-lgbtn-smbtn-xs 三个类名来调整 paddingfont-sizeline-heightborder-radius 属性值来改变按钮大小。那么按钮组的大小,我们也可以通过类似的方法:

  • .btn-group-lg:大按钮组

  • .btn-group-sm:小按钮组

  • .btn-group-xs:超小按钮组

只需要在“.btn-group”类名上追加对应的类名,就可以得到不同大小的按钮组。如下所示:

<div class="btn-toolbar">
  <div class="btn-group btn-group-lg"></div>
  <div class="btn-group"></div>
  <div class="btn-group btn-group-sm"></div>
  <div class="btn-group btn-group-xs"></div>
</div>

嵌套分组

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

<body>
<div class="btn-group">
  <button class="btn btn-default" type="button">首页</button>
  <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>
  <button class="btn btn-default" type="button">案例分析</button>
  <button class="btn btn-default" type="button">联系我们</button>
  <button class="btn btn-default" type="button">关于我们</button>
</div>
  <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 
</body>

按钮组嵌套分组

垂直分组

我们只需要把水平分组的“btn-group”类名换成“btn-group-vertical”即可。

<body>
<div class="btn-group-vertical">
  <button class="btn btn-default" type="button">首页</button>
  <button class="btn btn-default" type="button">产品展示</button>
  <button class="btn btn-default" type="button">案例分析</button>
  <button class="btn btn-default" type="button">联系我们</button>
  <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>
</div>
  <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 
</body>

按钮组垂直分组

等分按钮组

等分按钮的效果在移动端上特别的实用。整个按钮组宽度是容器的 100%,而按钮组里面的每个按钮平分整个容器宽度。

等分按钮也常被称为是自适应分组按钮,其实现方法也非常的简单,只需要在按钮组“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)。

注意:在制作等分按钮组时,请尽量使用 <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>

按钮向下向上三角形

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

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

有的时候我们的下拉菜单会向上弹起,这个时候我们的三角方向需要朝上显示,实现方法:需要在“.btn-group”类上追加“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>

按钮上拉三角形


http://www.niftyadmin.cn/n/1602963.html

相关文章

阿里二面,面试官:DDD 的三层含义是什么?我当场就懵了

领域驱动设计包含三层含义&#xff1a; 协作层架构层实现层 协作层 协作层强调的是&#xff0c;需求不是无源之水、无根之木&#xff0c;需求有它的来源&#xff0c;追溯上去&#xff0c;需求常常来自技术之外的业务领域。 因此&#xff0c;软件开发不仅仅是软件与编程&…

Java入门教程分享:入门+提升+精通,30天可上岗

目前的Java视频教程是有不少&#xff0c;但是你有了视频教程但是没有学习路线该怎么去学习呢&#xff1f;所以就先来看看学习路线图再来看看视频教程吧&#xff0c;一步一步来。 接下来再给大家看一下教程&#xff0c;这套教程将java的入门基础知识技能提升小项目知识贯穿起来&…

前端JS入门-数据类型/条件语句

概述 HTML 和 CSS 是标记语言。标记语言用于描述和定义文档中的元素。JavaScript 是编程语言。编程语言用于向机器发出指令。编程语言可用于控制机器的行为和表达算法。 所有主流浏览器都内置了 JavaScript 引擎&#xff0c;这使得浏览器可以运行和执行 JavaScript 代码。Jav…

面试题:springboot的三种启动方式,说出第四种可以多给2000RMB

环境准备 创建工程 pom.xml内容 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://mav…

前端JS入门-循环/函数

循环 While 循环 var start 0; // 何时开始 while (start < 10) { // 何时停止console.log(start);start start 2; // 如何进入下一个项目 } For 循环 for 循环明确要求定义起始点、结束点和循环的每一个步骤。实际上&#xff0c;如果缺少这三个部分的任一部分&#…

阿里在职架构师花费近8年时间整理出来的java核心知识点及面试题

资深阿里在职架构师花费8年时间整理出来的java核心知识点及常见面试题、简历模板&#xff0c;覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、SSM、数据库、数据结构等大量知识点。 如果需要获取这份java架构核心知识点及面试题简历模板的话帮忙转发一下然后…

前端JS入门-数组/对象

// 创建一个混合数据类型的 mixedData 数组 var mixedData ["abcd", 1, true, undefined, null, "all the things"]; 但是&#xff0c;混合类型的数组通常作用不大。在大部分情况下&#xff0c;你需要在数组中使用相同类型的元素。 你甚至可以在数组中存…

java程序员月薪没到30k算失败吗

没有体现出价值时就给你很高的薪水。 2.缺少学习热情 很少有哪个岗位的人像Java程序员这样需要持续不断的学习&#xff0c;软件开发的技术日新月异&#xff0c;而每一项技术又往往博大精深&#xff0c;不持续、深入钻研是很难掌握的&#xff0c;更别谈精通了。如果你对一项技术…