视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Bootstrap每天必学之按钮_javascript技巧
2020-11-27 21:46:09 责编:小OO
文档
1、按钮(按钮组)

单个按钮在Web页面中的运用有时候并不能满足我们的业务需求,常常会看到将多个按钮组合在一起使用,比如富文本编辑器里的一组小图标按钮等。那么在这一节中,我们主要向大家介绍Bootstrap框架为大家提供的按钮组组件。

源码查询:

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

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

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

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

使用方法:

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

对于结构方面,非常的简单。使用一个名为“btn-group”的容器,把多个按钮放到这个容器中。如下所示:


 
 
 
 
 
 
 
 
 

运行效果如下所示:

除了可以使用

  • 公司简介
  • 企业文化
  • 组织结构
  • 客服服务
  • 实现的样式代码:

    /查看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;
    }
    

    4、按钮(垂直分组)

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

    运行的效果如下:

    实现垂直分组的样式代码:

    /请查看bootstrap.css文件第3234行~第3276行/

    .btn-group-vertical > .btn,
    .btn-group-vertical > .btn-group,
    .btn-group-vertical > .btn-group > .btn {
     display: block;
     float: none;
     width: 100%;
     max-width: 100%;
    }
    .btn-group-vertical > .btn-group > .btn {
     float: none;
    }
    .btn-group-vertical > .btn + .btn,
    .btn-group-vertical > .btn + .btn-group,
    .btn-group-vertical > .btn-group + .btn,
    .btn-group-vertical > .btn-group + .btn-group {
     margin-top: -1px;
     margin-left: 0;
    }
    .btn-group-vertical > .btn:not(:first-child):not(:last-child) {
     border-radius: 0;
    }
    .btn-group-vertical > .btn:first-child:not(:last-child) {
     border-top-right-radius: 4px;
     border-bottom-right-radius: 0;
     border-bottom-left-radius: 0;
    }
    .btn-group-vertical > .btn:last-child:not(:first-child) {
     border-top-left-radius: 0;
     border-top-right-radius: 0;
     border-bottom-left-radius: 4px;
    }
    .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
     border-radius: 0;
    }
    .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
    .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
     border-bottom-right-radius: 0;
     border-bottom-left-radius: 0;
    }
    .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
     border-top-left-radius: 0;
     border-top-right-radius: 0;
    }
    

    和水平分组按钮不一样的是:

    ☑ 水平分组按钮第一个按钮左上角和左下角具有圆角以及最后一个按钮右上角和右下角具有圆角

    ☑ 垂直分组按钮第一个按钮左上角和右上角具有圆角以及最后一个按钮左下角和右下角具有圆角

    5、按钮(等分按钮)

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

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

    代码如下:
    运行效果如下:

    实现原理非常简单,把“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%;
    }
    

    特别声明:在制作等分按钮组时,请尽量使用标签元素来制作按钮,因为使用

  • 按钮下拉菜单项
  • 按钮下拉菜单项
  • 按钮下拉菜单项
  • 按钮下拉菜单项
  • 实现样式代码如下:

    /查看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;
    }
    

    运行的效果如下:

    7、按钮的向下向上三角形

    按钮的向下三角形,我们是通过在
    这个三角形完全是通过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的值。

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

    
     
     
     
  • 按钮下拉菜单项
  • 按钮下拉菜单项
  • 按钮下拉菜单项
  • 按钮下拉菜单项
  • 运行效果如下:

    下载本文
    显示全文
    专题