Bootstrap中的面板

panel

面板

面板(Panels)是Bootstrap框架新增的一个组件,其主要做用就是用来处理一些其余组件没法完成的功能。一样在不一样的版本中具备不一样的源码:css

☑  Less版本:对应的源码文件是 panels.lessweb

☑  Sass版本:对应的源码文件是 _panels.scssbootstrap

☑  编译后的Bootstrap:对应bootstrap.css文件第4995行~第5302行框架

面板--基础面板

基础面板很是简单,就是一个div容器运用了“panel”样式,产生一个具备边框的文本显示块。因为“panel”不控制主题颜色,因此在“panel”的基础上增长一个控制颜色的主题“panel-default”,另外在里面添加了一个“div.panel-body”来放置面板主体内容:less

<div class="panel panel-default">     <div class="panel-body">我是一个基础面板,带有默认主题样式风格</div> </div>

原理分析:布局

“panel“主要对边框,间距和圆角作了必定的设置:学习

/*bootstrap.css文件第4995行~第5005行*/ .panel {   margin-bottom: 20px;   background-color: #fff;   border: 1px solid transparent;   border-radius: 4px;   -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);           box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body {   padding: 15px; }

面板--带有头和尾的面板

基础面板看上去太简单了,Bootstrap为了丰富面板的功能,特地为面板增长“面板头部”和“页面尾部”的效果:字体

☑  panel-heading:用来设置面板头部样式优化

☑ panel-footer:用来设置面板尾部样式动画

<div class="panel panel-default">     <div>图解CSS3</div>     <div>…</div>     <div>做者:H5EDU.cn</div> </div>

原理分析:

panel-heading和panel-footer也仅仅间距和圆角等样式进行了设置:

/*bootstrap.css文件第5006行~第5030行*/ .panel-heading {   padding: 10px 15px;   border-bottom: 1px solid transparent;   border-top-left-radius: 3px;   border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle {   color: inherit; } .panel-title {   margin-top: 0;   margin-bottom: 0;   font-size: 16px;   color: inherit; } .panel-title > a {   color: inherit; } .panel-footer {   padding: 10px 15px;   background-color: #f5f5f5;   border-top: 1px solid #ddd;   border-bottom-right-radius: 3px;   border-bottom-left-radius: 3px; }

面板--彩色面板

在基础面板一节中了解到,panel样式并无对主题进行样式设置,而主题样式是经过panel-default来设置。在Bootstrap框架中面板组件除了默认的主题样式以外,还包括如下几种主题样式,构成了一个彩色面板:

☑  panel-primary:重点蓝

☑  panel-success:成功绿

☑ panel-info:信息蓝

☑ panel-warning:警告黄

☑ panel-danger:危险红

使用方法就很简单了,只须要在panel的类名基础上增长本身须要的类名:

<div class="panel panel-default">     <div>图解CSS3</div>     <div>…</div>     <div>做者:seashen</div> </div> <div class="panel panel-primary">…</div> <div class="panel panel-success">…</div> <div class="panel panel-info">…</div> <div class="panel panel-warning">…</div> <div class="panel panel-danger">…</div>

从效果中不难发现,这几个样式只是改变了面板的背景色、文本和边框颜色:具体源码能够查看bootstrap.css文件第5195行~第5302行

面板--面板中嵌套表格

通常状况下能够把面板理解为一个区域,在使用面板的时候,都会在panel-body放置须要的内容,多是图片、表格或者列表等。来看看面板中嵌套表格和列表组的一个效果。首先来看嵌套表格的效果:

<div class="panel panel-default">     <div>图解CSS3</div>     <div>     <p>详细讲解了选择器、边框、背景、文本、颜色、盒模型、伸缩布局盒模型、多列布局、渐变、过渡、动画、媒体、响应Web设计、Web字体等主题下涵盖的全部CSS3新特性     </p>     <table class="table table-bordered">         <thead>             <tr>                 <th>#</th>                 <th>个人书</th>                 <th>发布时间</th>             </tr>         </thead>         <tbody>             <tr>                 <td>1</td>                 <td>《图解CSS3》</td>                 <td>2014-07-10</td>             </tr>         </tbody>     </table>     </div>     <div>做者:sea</div> </div>

优化代码:

在实际应用运中,你或许但愿表格和面板边缘不须要有任何的间距。但因为panel-body设置了一个padding:15px的值,为了实现这样的效果。咱们在实际使用的时候须要把table提取到panel-body外面:

<div class="panel panel-default">     <div>图解CSS3</div>     <div>…</div>     <table class="table table-bordered">…</table>     <div>做者:sea</div> </div>

这样的效果是否是完美多了。你们可能会问,前面介绍表格的时候table-bordered明明有边框,按理说这里应该会出现边框重叠效果才对,怎么没有呢?其实本来是有边框重叠的,只不过在面板中对表格又作了一次优化。对应的代码是bootstrap.css文件中第5054行~第5172行。

面板--面板中嵌套列表组

在上一节,咱们介绍了如何在面板中放置表格,如今咱们来学习如何在面板中放置列表组,咱们简单的来看一个示例:

<div class="panel panel-default">     <div>图解CSS3</div>     <div>         <p>详细讲解了选择器、边框、背景、文本、颜色、盒模型、伸缩布局盒模型、多列布局、渐变、过渡、动画、媒体、响应Web设计、Web字体等主题下涵盖的全部CSS3新特性         </p>         <ul>             <li>我是列表项</li>             <li>我是列表项</li>             <li>我是列表项</li>         </ul>     </div>     <div>做者:sea</div> </div>

优化代码:

和嵌套表格同样,若是你以为这样有间距很差看,你彻底能够把列表组提取出来:

<div class="panel panel-default">     <div>图解CSS3</div>     <div>…</div>     <ul>         <li>我是列表项</li>         <li>我是列表项</li>         <li>我是列表项</li>     </ul>     <div>做者:sea</div> </div>

一样的道理,Bootstrap将嵌套在面板中的列表组作了必定的样式优化。具体源码能够查看bootstrap.css文件第5031行~第5053

相关文章
相关标签/搜索