Bootstrap每天必学之面板


Posted in Javascript onNovember 30, 2015

1、面板

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

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

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

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

2、面板?基础面板

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

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

运行效果如下:

Bootstrap每天必学之面板

原理分析:

“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;
}

3、面板?带有头和尾的面板

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

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

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

<div class="panel panel-default">
 <div class="panel-heading">图解CSS3</div>
 <div class="panel-body">…</div>
 <div class="panel-footer">作者:大漠</div>
</div>

运行效果如下:

Bootstrap每天必学之面板

原理分析:

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;
}

4、面板?彩色面板

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

☑ panel-primary:重点蓝

☑ panel-success:成功绿

☑ panel-info:信息蓝

☑ panel-warning:警告黄

☑ panel-danger:危险红

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

<div class="panel panel-default">
 <div class="panel-heading">图解CSS3</div>
 <div class="panel-body">…</div>
 <div class="panel-footer">作者:大漠</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每天必学之面板

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

5、面板?面板中嵌套列表组

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

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

运行效果如下:

Bootstrap每天必学之面板

优化代码:

和嵌套表格一样,如果你觉得这样有间距不好看,你完全可以把列表组提取出来:

<div class="panel panel-default">
 <div class="panel-heading">图解CSS3</div>
 <div class="panel-body">…</div>
 <ul class="list-group">
 <li class="list-group-item">我是列表项</li>
 <li class="list-group-item">我是列表项</li>
 <li class="list-group-item">我是列表项</li>
 </ul>
 <div class="panel-footer">作者:大漠</div>
</div>

运行效果如下:

Bootstrap每天必学之面板

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

本文系列教程整理到:Bootstrap基础教程 专题中,欢迎点击学习。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

以上针对面板,分别介绍了基础面板、彩色面板等,帮助大家更全面的学习Bootstrap面板,希望大家从中得到收获。

Javascript 相关文章推荐
围观tangram js库
Dec 28 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
常用原生JS兼容性写法汇总
Apr 27 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
对js中回调函数的一些看法
Aug 29 Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 Javascript
Javascript使用function创建类的两种方法(推荐)
Nov 19 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
Dec 30 Javascript
vue实现移动端input上传视频、音频
Aug 18 Javascript
vue 如何使用递归组件
Oct 23 Javascript
Bootstrap每天必学之媒体对象
Nov 30 #Javascript
javascript针对cookie的基本操作实例详解
Nov 30 #Javascript
javascript闭包(Closure)用法实例简析
Nov 30 #Javascript
详解JavaScript的流程控制语句
Nov 30 #Javascript
详解JavaScript的表达式与运算符
Nov 30 #Javascript
Bootstrap每天必学之进度条
Nov 30 #Javascript
javascript省市区三级联动下拉框菜单实例演示
Nov 29 #Javascript
You might like
Yii2 assets清除缓存的方法
2016/05/16 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
修改发贴的编辑功能
2007/03/07 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
js表头排序实现方法
2015/01/16 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
JS代码优化的8点建议
2020/02/04 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
Python输入二维数组方法
2018/04/13 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
解析python的局部变量和全局变量
2019/08/15 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
什么是python的函数体
2020/06/19 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
酒店营销策划方案
2014/02/07 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
学生请假条
2014/04/11 职场文书
体育教师求职信
2014/06/30 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers