表格

作者: Mandy_jin | 来源:发表于2016-11-07 18:00 被阅读118次

    表格是Bootstrap的一个基础组件之一,Bootstrap为表格提供了一种基础样式4种附加样式以及1个支持响应式的表格。在使用Bootstrap的表格过程中,只需要添加对应的类名就可以得到不同的表格风格。

    同样的,如果你对CSS预处理器熟悉,你可以使用Bootstrap提供的预处理版本:LESS版本,对应的文件是tables.less,Sass版本,对应的文件是_tables.scss.也可以在bootstrap.css文件中第1402行~第1603行中可以查阅到所有关于table的样式代码。

    Bootstrap还未表格的行元素<tr>提供了五种不同的类名,每种类名控制了行的不同背景颜色,其使用就是在<tr>元素中添加上表对应的类名,具体说明如下表所示:

    特别提示:除了".active"之外,其他四个类名和".table-hover"配合使用时,Bootstrap针对这几种样式也做了相应的悬浮状态的样式设置,所以如果需要给tr元素添加其他颜色样式时,在".table-hover"表格中也要做响应的调整。

    注意要实现悬浮状态,需要在<table>标签上加入table-hover类。

    基础表格

    css表格结构:

    <table>

    <thead>

    <tr>

    <th>表格标题</th>

    ...

    </tr>

    </thead>

    <tbody>

    <tr>

    <td>表格单元格</td>

    ...

    </tr>

    ...

    </tbody>

    </table>

    基础表格

    在Bootstrap中,对于基础表格是通过类名".table"来控制。如果在<table>元素中不添加任何类名,表格是无任何样式效果的。大致长得如下图所示的样子:

    ".table"主要有三个作用:

    给表格设置了margin-bottom:20px以及设置单元内距;在thead底部设置了一个2px的浅灰实线;每个单元格顶部设置了一个1px的浅灰实线。

    斑马线表格

    在<table class="table">的基础上增加类名".table-striped"即可:

    其效果与基础表格相比,仅是在tbody隔行有一个浅灰色的背景色。其实现原理也非常的简单,利用CSS3的结构性选择器".nth-child"来实现,所以对IE8以及其下浏览器,没有背景条纹效果。

    .table-striped  > tbody > tr:nth-child(odd) > td, 

    .table-striped > tbody > tr:nth-child(odd) > th{background-color:#f9f9f9;}

    带边框的表格

    表格效果:所有单元格具有一条1px的边框。在<table class="table">基础上添加一个".table-bordered"类名即可:

    .table-bordered {

    border: 1px solid #ddd;/*整个表格设置边框*/

    }

    .table-bordered > thead > tr > th,

    .table-bordered > tbody > tr > th,

    .table-bordered > tfoot > tr > th,

    .table-bordered > thead > tr > td,

    .table-bordered > tbody > tr > td,

    .table-bordered > tfoot > tr > td {

    border: 1px solid #ddd; /*每个单元格设置边框*/

    }

    .table-bordered > thead > tr > th,

    .table-bordered > thead > tr > td {

    border-bottom-width: 2px;/*表头底部边框*/

    }

    鼠标悬浮高亮的表格

    表格效果:当鼠标悬停在表格行上面有一个高亮的背景色,默认为浅灰色,仅需在<table class="table>元素上添加类名"table-hover"即可:

    .table-hover > tbody > tr:hover > td,

    .table-hover > tbody > tr:hover > th {

    background-color: #f5f5f5;

    }

    紧凑型表格

    简单理解,就是单元格没内距或者内距较其他表格的内距更小。仅需在<table class="table">基础上添加类名"table-condensed"即可。但其实与基础表格差别不大,因为只是将单元格的内距由8px调至5px.

    .table-condensed > thead > tr > th,

    .table-condensed > tbody > tr > th,

    .table-condensed > tfoot > tr > th,

    .table-condensed > thead > tr > td,

    .table-condensed > tbody > tr > td,

    .table-condensed > tfoot > tr > td {

    padding: 5px;

    }

    响应式表格

    表格效果:当你的浏览器可视区域小于768px时,表格底部会出现水平滚动条。当你的浏览器可视区域大于768px时,表格底部水平滚动条会消失。

    实现方式:Bootstrap提供了一个容器,并且此容器设置类名"table-responsive",此容器具有响应式效果,然后将<table class="table">置于这个容器当中,这样表格也就具有响应式效果。

    相关文章

      网友评论

          本文标题:表格

          本文链接:https://www.haomeiwen.com/subject/fxyouttx.html