首页 > 代码库 > Bootstrap面板

Bootstrap面板

前面的话

  面板(Panels)是Bootstrap框架新增的一个组件,某些时候可能需要将某些 DOM 内容放到一个盒子里。对于这种情况,可以使用面板组件。本文将详细介绍Bootstrap面板

 

基础面板

  基础面板非常简单,就是一个div容器运用了“panel”样式,产生一个具有边框的文本显示块,另外在里面添加了一个“div.panel-body”来放置面板主体内容

.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;}
<div class="panel">    <div class="panel-body">我是一个基础面板</div></div>

<iframe style="width: 100%; height: 72px;" src="http://sandbox.runjs.cn/show/7jknfdyo" frameborder="0" width="320" height="240"></iframe>

【部件】

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

  ?  panel-heading:用来设置面板头部样式

  ? panel-footer:用来设置面板尾部样式

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

.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;}
<div class="panel">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div>

<iframe style="width: 100%; height: 154px;" src="http://sandbox.runjs.cn/show/vbvvouxo" frameborder="0" width="320" height="240"></iframe>

 

彩色面板

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

  ?  panel-primary:重点蓝

  ?  panel-success:成功绿

  ? panel-info:信息蓝

  ? panel-warning:警告黄

  ? panel-danger:危险红

  使用方法很简单,只需要在panel的类名基础上增加自己需要的类名

<div class="panel">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div><div class="panel panel-default">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div><div class="panel panel-primary">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div><div class="panel panel-success">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div><div class="panel panel-info">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div><div class="panel panel-warning">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div><div class="panel panel-danger">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">前端学习博客</div>    <div class="panel-footer">作者:小火柴</div></div>

<iframe style="width: 100%; height: 1078px;" src="http://sandbox.runjs.cn/show/aphlcatr" frameborder="0" width="320" height="240"></iframe>

 

表格嵌套

  一般情况下可以把面板理解为一个区域,在使用面板的时候,都会在panel-body放置需要的内容,可能是图片、表格或者列表等

  为面板中不需要边框的表格添加 .table 类,使整个面板看上去更像是一个整体设计。如果是带有 .panel-body 的面板,我们为表格的上方添加一个边框,看上去有分隔效果

<div class="panel panel-default">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">        <p>前端学习博客</p>    </div>    <table class="table">    <thead>      <tr>        <th>#</th>        <th>名称</th>        <th>博客数量</th>        <th>难度</th>      </tr>    </thead>    <tbody>      <tr>        <th scope="row">1</th>        <td>HTML</td>        <td>30</td>        <td>较难</td>      </tr>      <tr>        <th scope="row">2</th>        <td>CSS</td>        <td>60</td>        <td>较难</td>      </tr>      <tr>        <th scope="row">3</th>        <td>javascript</td>        <td>200</td>        <td>很难</td>      </tr>    </tbody>    </table></div>

<iframe style="width: 100%; height: 272px;" src="http://sandbox.runjs.cn/show/lyesfnib" frameborder="0" width="320" height="240"></iframe>

  如果没有 .panel-body ,面版标题会和表格连接起来,没有空隙 

<iframe style="width: 100%; height: 211px;" src="http://sandbox.runjs.cn/show/moybmmm8" frameborder="0" width="320" height="240"></iframe>

 

列表组嵌套

  可以简单地在任何面板中加入具有最大宽度的列表组

<div class="panel panel-default">    <div class="panel-heading">小火柴的蓝色理想</div>    <div class="panel-body">        <p>前端学习博客</p>    </div>    <ul class="list-group">        <li class="list-group-item">HTML</li>        <li class="list-group-item">CSS</li>        <li class="list-group-item" >javascript</li>        <li class="list-group-item">bootstrap</li>        <li class="list-group-item">jquery</li>    </ul></div>

<iframe style="width: 100%; height: 328px;" src="http://sandbox.runjs.cn/show/labcfyhm" frameborder="0" width="320" height="240"></iframe>

 

<script type="text/javascript" src="http://files.cnblogs.com/files/xiaohuochai/contextMenu.js"></script><script type="text/javascript" src="http://files.cnblogs.com/files/xiaohuochai/catalog.js"></script>

Bootstrap面板