boot-02 (组件<(水平/胶囊/选项卡)导航,折叠,卡片,手风琴,折叠导航栏,媒体对象,焦点轮播图,巨幕,徽章>)

4.导航

①水平导航

ul.nav>li.nav-item>a.nav-link

ul.nav    弹性布局,去点,主轴方向默认x轴

li.nav-item 配合ul.nav-justified让li等宽显示

a.nav-link 块级,内边距撑开,hover,focus等

②选项卡导航

导航的样式

ul.nav.nav-tabs>li.nav-item>a.nav-link

.nav-tabs 让水平导航,变为选项卡导航

显示内容的样式

div.tab-content>div.tab-pane

div.tab-content 没有任何样式,作为子代选择器的路径

div.tab-pane 与父元素配合,让当前元素display:none

.active  与.tab-content配合,让当前元素显示

事件

<a data-toggle="tab" href="#tab1" class="nav-link">东北菜</a>

给div.tab-pane添加id,把id放到对应a标签的href中

定义事件触发之后,执行的目标

10:05~10:20休息

③胶囊导航

ul.nav.nav-pills

li.nav-item

a.nav-link data-toogle="pill" href="#对应id"

内容 div.tab-content>div.tab-pane

5.导航栏(重点)

div.navbar.navbar-expand-* 

ul.navbar-nav 默认为弹性,主轴为y

父级div的navbar-expand-* 与子级ul.navbar-nav 组成后代选择器,对ul的主轴方向进行了控制。

比如navbar-expand-md,当屏幕w>=768px,ul的主轴方向变为row,所有li横向显示。当屏幕w<768px,ul的主轴方向为默认的column,所有li纵向显示

li.nav-item

a.nav-link

6.折叠

button data-toggle="collapse" data-target="#div的id"

div.collapse   display:none隐藏

7.卡片

div.card>

  div.card-header

  div.card-body

  div.card-footer

如果在card中a标签,那么a可以使用card提供的样式.card-link

对于一个card来说,除了div.card,其它都可以省略

8.手风琴(卡片+折叠)

注意:

1. .collapse不能和.card-body在同一个div上

  不然在隐藏/显示的时候,会发生卡顿

  解决方案 div.collapse>div.card-body

2.多个折叠部分可以同时打开

  解决方案:在最外层,添加div#parent,所有的卡片都在这个div中

  在所有的div.collapse上,添加事件data-parent="#parent"

  这样就可以保证,在div#parent中,同时最多只有一个折叠区域是打开状态

9.折叠导航栏

最外层

div.navbar.navbar-expand-*.bg-dark.navbar-dark

内部3部分

   a.navbar-brand  不隐藏,显示在最前面的菜单

   button.navbar-toggler>span.navbar-toggler-icon 折叠按钮

   div.collapse.navbar-collapse   折叠的导航菜单

      >ul.navbar-nav>li.nav-item>a.nav-link

功能解释

1. .navbar-dark 对最外层div没有任何影响,告诉内部的

         .navbar-brand,和.navbar-nav和.navbar-toggler-icon

   告诉他们,导航栏是深色的,你们要用浅色文字

2. .navbar-expand-*和.navbar-collapse配合    

  .collapse 作用display:none;

  .navbar-expand-* .navbar-collapse{display:flex}

  所以只要屏幕符合*的要求,这里的div就是显示状态

  屏幕不符合*的要求,那么这个选择器就失效了

  div就要按照.collapse的样式,隐藏

  简单来说:.navbar-expand-* .navbar-collapse中的*,决定了菜单在什么屏幕下显示,什么屏幕下隐藏

10.媒体对象

<div class="media border rounded p-3">

        <img src="chengliang.jpg" alt=""/>

        <div class="media-body ml-3">

            <h4>闪闪亮亮</h4>

            <p>180天团成员</p>

        </div>

</div>

11.焦点轮播图

①图片轮播

div.carousel               相对定位

 >div.carousel-inner       相对定位,宽100%,溢出隐藏

   >div.carousel-item.active   display:none .active:显示

      >img.w-100       如果宽度不是100%,右边的箭头会出去

事件

给div.carousel添加data-ride="carousel" 轮播图就可以动了

②左右箭头

div.carousel#id

  >a.carousel-control-prev/next

    data-slide="prev/next" href="#id"

由于boot给默认的左右箭头不符合我们的需求

所以样式需要重写

.carousel-control-prev,.carousel-control-next{

   4%;height: 20%;

  

  border-radius: 0.5rem;top:40%;

}

③轮播指示器

ul.carousel-indicators  定位,弹性布局

  >li.active .carousel-indicators设置了li的宽度高

由于boot默认的宽高不符合我们的需求,需要重写

       .carousel-indicators li{

            0.8rem;height:0.8rem;

            margin-left:0.4rem;

            margin-right:0.4rem;border-radius: 50%;

        }

        .carousel-indicators .active{

            

        }

事件:li data-slide-to="图片的index" 从0开始

        data-target="#id"  17:10~17:25休息

12.模态框

  <div class="modal">

        <div class="modal-dialog">

            <div class="modal-content">

                <div class="modal-header"></div>

                <div class="modal-body"></div>

                <div class="modal-footer"></div>

            </div>

        </div>

    </div>

.其他组建

1.巨幕

巨大的内边距,和边框,背景色

div.jumbotron

2.徽章

把徽章看作小按钮

基本类 badge

徽章颜色 badge-danger/warning.....

胶囊徽章 badge-pill

原文地址:https://www.cnblogs.com/codexlx/p/12461910.html