首頁  >  文章  >  web前端  >  深入淺析Bootstrap列表組元件

深入淺析Bootstrap列表組元件

PHP中文网
PHP中文网原創
2017-04-01 15:50:412121瀏覽

Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。 Bootstrap 是基於 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更快速。

列表組是靈活又強大的組件,不僅能用於顯示一組簡單的元素,還能用於復雜的定制的內容。列表組可以用來製作列表清單、垂直導航等效果,也可以配合其他的組件製作出更漂亮的組件,列表組在bootstrap框架中也是一個獨立的組件,所以也對應有自己獨立原始碼:

LESS:list-group.less
SASS:_list-group.scss

列表組看上去就是去掉了列表符號的列表項,並且配上一些特定的樣式,在bootstrap框架中的基礎列表組主要包括兩個部分:

list-group:列表組容器,常用的是ul元素,也可以是ol或p元素

list-group-item:列表項,常用的是li元素,也可以是p元素

對於基礎列表組並沒有做過多的樣式設置,主要設置了其間距、邊框和圓角等;

.list-group {
padding-left: 0;
margin-bottom: 20px;
}
.list-group-item {
position: relative;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
background-color: #fff;
border: 1px solid #ddd;
}
.list-group-item:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.list-group-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}

來看一個例子:

基础列表组腊肉土豆焖饭香辣风味炸鸡块香菜皮蛋豆腐荷兰豆炒马蹄山楂排骨韭菜炒河虾

帶徽章的列表群組

帶徽章的列表組其實就是將bootstrap框架中的徽章組件和基礎列表組件結合在一起的一個效果,具體做法很簡單,只需在.list-group-item的基礎上追加徽章組件「badge」

實現原理:

給徽章設定了一個右浮動,當然如果兩個徽章同時在一個列表項中出現時,也設定了它們之間的距離


.list-group-item > .badge {
float: right;
}
.list-group-item > .badge + .badge {
margin-right: 5px;
}

範例:


带徽章的列表组13腊肉土豆焖饭20香辣风味炸鸡块12香菜皮蛋豆腐5荷兰豆炒马蹄8山楂排骨15韭菜炒河虾




腊肉土豆焖饭香辣风味炸鸡块香菜皮蛋豆腐荷兰豆炒马蹄山楂排骨韭菜炒河虾



帶連結的列表群組




效果如下:

带链接的列表组腊肉土豆焖饭香辣风味炸鸡块香菜皮蛋豆腐荷兰豆炒马蹄山楂排骨韭菜炒河虾


這樣做有個不足之處,就是連結的點擊區域只在文字上有效;但很多時候都希望在列表項目的任何區域都具備可點擊,這是就需要在鏈接標籤上增加額外的樣式:display:block;但在bootstrap框架中,還是採用了另一種實現方式,就是將ul.list-group用p.list-group來替換,li.list-group-item用a.list-group-item來替換,這樣就可以達到所需的效果。

實作原理:

如果使用a.list-group-item,樣式就需要做一定的處理,如:去文字下劃線,增加懸浮效果等;下面是css源碼:



帶鏈接列表組的運用:



效果如下:


a.list-group-item .list-group-item-heading {
color: #333;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
color: #777;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
color: #e1edf7;
}
.list-group-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-group-item-text {
margin-bottom: 0;
line-height: 1.3;
}

bootstrap框架在連結清單群組的基礎上增加了兩個樣式:.list-group-item-heading:用來定義清單項目頭部樣式


.list-group-item-text:用來定義清單項目主要內容

這兩個樣式最大的作用就是用來幫組開發者可以自訂清單項目裡的內容實作原理:這兩個樣式主要控制不容狀態下的文字顏色,以下是css來源碼:自訂清單群組的運用
自定义列表组列表1标题列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表2标题
列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容
列表3标题列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容
列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表4标题列表4内容列表4内容列表4内容
列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容
列表4内容列表4内容列表4内容列表5标题列表5内容列表5内容列表5内容列表5内容列表5内容列表5内容列表5内容列表5内容
列表5内容列表5内容列表5内容列表5内容列表6标题列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容
列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容
列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容

列表项的状态设置

bootstrap框架中也给组合列表项提供了状态效果,特别是链接列表组,实现方法和前面介绍的组件类似,在列表组中只需在对应的列表项中添加类名:.active(表示当前状态)、.disabled(表示禁用状态)

实现原理:

在样式上主要对列表项的背景色和文本做了样式设置,下面是css源码:


.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
color: #777;
background-color: #eee;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
z-index: 2;
color: #fff;
background-color: #428bca;
border-color: #428bca;
}

例子:


列表组状态设置列表1标题列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容列表1内容
列表2标题列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容列表2内容
列表2内容列表3标题列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容
列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表3内容列表4标题列表4内容列表4内容
列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容列表4内容
列表4内容列表4内容列表4内容列表4内容列表5标题列表5内容列表5内容列表5内容列表5内容列表5内容列表5内容列表5内容
列表5内容列表5内容列表5内容列表5内容列表5内容列表6标题列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容
列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容
列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容列表6内容

效果如下(第三个列表项是禁用状态,鼠标移放在它上面有个禁用图标,这里是直接截的图,看不到这个效果):

多彩列表组

列表组组件和警告组件一样,bootstrap为不同的状态提供了不同的背景色和文本色,可以使用这几个类名定义不同背景色的列表项:


.list-group-item-success:成功 绿色(背景色)
.list-group-item-info:信息 蓝色(背景色)
.list-group-item-warning:警告 黄色(背景色)
.list-group-item-danger:错误 红色(背景色)

实现原理:

这几个类名仅修改了背景色和文本色,对应的源码如下:


.list-group-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-group-item-success {
color: #3c763d;
}
a.list-group-item-success .list-group-item-heading {
color: inherit;
}
a.list-group-item-success:hover,
a.list-group-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-group-item-success.active,
a.list-group-item-success.active:hover,
a.list-group-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}

其它状态样式代码请查看源码文件,如果想给列表项添加背景色,只需在类.lis-group-item的基础上追加对应的类名即可。

多彩列表组的运用:


多彩列表组列表项110列表项110列表项110列表项110列表项110

效果如下:

 以上就是深入浅析Bootstrap列表组组件的内容,更多相关内容请关注PHP中文网(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn