這一章是Bootstrap 底層結(jié)構(gòu)的關(guān)鍵部分,這個(gè)可以我們讓 web 開(kāi)發(fā)變得更好、更快、更強(qiáng)壯的最佳實(shí)踐。
在平南等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營(yíng)銷(xiāo)推廣,成都外貿(mào)網(wǎng)站制作,平南網(wǎng)站建設(shè)費(fèi)用合理。
接下來(lái),開(kāi)始我們的bootstrap學(xué)習(xí)了。
由于Bootstrap 使用了一些 HTML5 元素和 CSS 屬性。所以為了讓這些正常工作,需要使用 HTML5 文檔類(lèi)型(Doctype)。 因此,在使用 Bootstrap 項(xiàng)目的開(kāi)頭包含下面的代碼段。
....
如果在 Bootstrap 創(chuàng)建的網(wǎng)頁(yè)開(kāi)頭不使用 HTML5 的文檔類(lèi)型(Doctype),您可能會(huì)面臨一些瀏覽器顯示不一致的問(wèn)題,甚至可能面臨一些特定情境下的不一致,以致于您的代碼不能通過(guò) W3C 標(biāo)準(zhǔn)的驗(yàn)證。
Bootstrap 3 的最顯著的變化。在之前的 Bootstrap 版本中(直到 2.x),需要手動(dòng)引用另一個(gè) CSS,以便與主 CSS 一起讓項(xiàng)目對(duì)移動(dòng)設(shè)備結(jié)合。而B(niǎo)ootstrap 3 默認(rèn)的 CSS 本身就是對(duì)移動(dòng)設(shè)備友好的。
Bootstrap 3 的設(shè)計(jì)目標(biāo)是移動(dòng)設(shè)備優(yōu)先,然后才是桌面設(shè)備。
為了讓 Bootstrap 開(kāi)發(fā)的網(wǎng)站對(duì)移動(dòng)設(shè)備友好,確保適當(dāng)?shù)睦L制和觸屏縮放,需要在網(wǎng)頁(yè)的 head之中添加 viewport meta 標(biāo)簽,如下所示:
< content="">
width 屬性控制設(shè)備的寬度。假設(shè)您的網(wǎng)站將被帶有不同屏幕分辨率的設(shè)備瀏覽,那么將它設(shè)置為 device-width 將確保它能正確呈現(xiàn)在不同設(shè)備上。
initial-scale=1.0 確保網(wǎng)頁(yè)加載時(shí),以 1:1 的比例呈現(xiàn),不會(huì)有任何的縮放。
在移動(dòng)設(shè)備瀏覽器上,通過(guò)為 viewport meta 標(biāo)簽添加 user-scalable=no 可以禁用其縮放(zooming)功能。通常情況下,maximum-scale=1.0 與 user-scalable=no 一起使用。這樣禁用縮放功能后,用戶(hù)只能滾動(dòng)屏幕,就能讓您的網(wǎng)站看上去更像原生應(yīng)用的感覺(jué)。注意,要看您自己的情況而定!
通過(guò)添加 img-responsive class 可以讓 Bootstrap 3 中的圖像對(duì)響應(yīng)式布局的支持更友好。下面是這個(gè) class 包含了哪些 css 屬性。
.img-responsive { display: inline-block; height: auto; max-width: 100%; }
屬性設(shè)置display:inline-block,即元素相對(duì)于它周?chē)膬?nèi)容以?xún)?nèi)聯(lián)形式呈現(xiàn),但與內(nèi)聯(lián)不同的是,這種情況下我們可以設(shè)置寬度和高度。
設(shè)置 height:auto,相關(guān)元素的高度取決于瀏覽器。
設(shè)置 max-width:100% 會(huì)重寫(xiě)任何通過(guò) width 屬性指定的寬度。這讓圖片對(duì)響應(yīng)式布局的支持更友好。
Bootstrap 3 使用 body {margin: 0;} 來(lái)移除 body 的邊距。
基本的body樣式:
body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; color: #333333; background-color: #ffffff; }
1.設(shè)置 body 的默認(rèn)字體樣式為 "Helvetica Neue", Helvetica, Arial, sans-serif。
2.設(shè)置文本的默認(rèn)字體大小為 14 像素。
3.設(shè)置默認(rèn)的行高度為 1.428571429。
4.設(shè)置默認(rèn)的文本顏色為 #333333。
5.設(shè)置默認(rèn)的背景顏色為白色。
使用 @font-family-base、 @font-size-base 和 @line-height-base 屬性作為排版樣式。(這點(diǎn)自己未弄清楚)
通過(guò)屬性 @link-color 設(shè)置全局鏈接的顏色。
默認(rèn)的鏈接樣式:
a:hover, a:focus { color: #2a6496; text-decoration: underline; } a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
1.鼠標(biāo)懸停在鏈接上,或者點(diǎn)擊過(guò)的鏈接,顏色會(huì)被設(shè)置為 #2a6496。同時(shí),會(huì)呈現(xiàn)一條下劃線。
2.點(diǎn)擊過(guò)的鏈接,會(huì)呈現(xiàn)一個(gè)顏色碼為 #333 的細(xì)的虛線輪廓
3.設(shè)置輪廓為 5 像素寬;
4.對(duì)于基于 webkit 瀏覽器有一個(gè) -webkit-focus-ring-color 的瀏覽器擴(kuò)展;
5.輪廓偏移設(shè)置為 -2 像素。
以上所有這些樣式都可以在 scaffolding.less 中找到。
Bootstrap 使用 Normalize 來(lái)建立跨瀏覽器的一致性。
Normalize.css 是一個(gè)很小的 CSS 文件,在 HTML 元素的默認(rèn)樣式中提供了更好的跨瀏覽器一致性。
...
Bootstrap 3 的 container class 用于包裹頁(yè)面上的內(nèi)容。
bootstrap.css 文件中默認(rèn)的 .container class。
.container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
上面的代碼,把 container 的左右外邊距(margin-right、margin-left)交由瀏覽器決定。請(qǐng)注意,由于內(nèi)邊距(padding)和固定寬度,默認(rèn)情況下容器是不可嵌套的
.container:before, .container:after { display: table; content: " "; }
這會(huì)產(chǎn)生偽元素。設(shè)置 display 為 table,會(huì)創(chuàng)建一個(gè)匿名的 table-cell 和一個(gè)新的塊格式化上下文。:before 偽元素防止上邊距崩塌,:after 偽元素清除浮動(dòng)。
(如果 conteneditable 屬性出現(xiàn)在 HTML 中,由于一些 Opera bug,圍繞上述元素創(chuàng)建一個(gè)空格。這可以通過(guò)使用 content: " " 來(lái)修復(fù)。
.container:after {
clear: both;
}
它創(chuàng)建了一個(gè)偽元素,并確保了所有的容器包含所有的浮動(dòng)元素。)
Bootstrap 3 CSS 有一個(gè)申請(qǐng)響應(yīng)的媒體查詢(xún),在不同的媒體查詢(xún)閾值范圍內(nèi)都為 container 設(shè)置了max-width,用以匹配網(wǎng)格系統(tǒng)。
@media (min-width: 768px) {
.container {
width: 750px;
}