Boostrap入門準(zhǔn)備之border box
之前在學(xué)習(xí)Bootstrap的過程中,遇到各種奇葩的坑,如果在學(xué)習(xí)bootstrap之前,準(zhǔn)備工作先做好,就可以或多或少的避開一些坑。下面小編開始給大家介紹border-box這個屬性的知識。
在Boostrap自帶的css文件:boostrap.css中,有這樣一段代碼:
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
這意味著在寫代碼時,這個屬性將無處不在。那這個box-sizing:boder-box究竟是什么鬼呢?讓我們先來看看一段很普通的代碼:
<div class="outer" style="width:500px; height:500px; padding:100px; border:1px solid #000; background-color: yellow; "> <div class="inner" style="width:100%; height:100%; background-color:pink;"></div> </div>
運行代碼得出:outer的高度為702px,寬度為702px,inner的寬度為500px,高度為500px;這里大家應(yīng)該都沒什么疑問吧,我們現(xiàn)在看看另外一段代碼:
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
<div class="outer" style="width:500px; height:500px; padding:100px; border:1px solid #000; background-color: yellow; ">
<div class="inner" style="width:100%; height:100%; background-color:pink;"></div>
</div>
這段代碼其實就是頭兩段代碼的相加,可以簡單的理解為現(xiàn)在是在Boostrap的框架中開始寫代碼,代碼運行的結(jié)果為:outer的寬度為500px,高度為500px;inner的寬高為298px;
導(dǎo)致這樣的結(jié)果的原因是:box-sizing:border-box使得元素的寬高不會受padding和border的影響,如上面的代碼,即使outer有padding,border,但是padding和border都不會影響outer的寬高,outer的寬高還是500px;但是padding和border跑哪里去了?答案:跑到里面去了!打開瀏覽器的調(diào)試工具,看outer的樣式詳情:
我們可以明顯的看到,padding和border都是有效的,只是它們占據(jù)了outer的內(nèi)部空間,由于padding:100px占據(jù)了outer的200px寬高值,border占據(jù)了2px的寬高值,所以inner只能獲得298px的寬高值。
如果大家有ie下的網(wǎng)頁開發(fā)經(jīng)驗的話,就會發(fā)現(xiàn),box-sizing:border-box就是低版本ie的怪異模式。
以上所述是小編給大家介紹的Boostrap入門準(zhǔn)備之border box的相關(guān)知識,大家都學(xué)會了嗎,如果有疑問歡迎給我留言,小編會及時回復(fù)大家的。同時也非常感謝大家對腳本之家網(wǎng)站的支持!
下面給大家介紹box-sizing border-box 的理解
-webkit-box-sizing: border-box; 則div 設(shè)置的寬高將包含 邊框及 padding
<!DOCTYPE html>
<html>
<head>
<title>box-sizing</title>
<style type="text/css">
.testdiv{
padding: 10px;;
width:100px;
border: 10px solid
}
</style>
</head>
<body >
<div class="testdiv" > 普通</div>
<div class="testdiv" style=" -webkit-box-sizing: border-box;">
特殊
</div>
</body>
</html>
- 頁面遮罩層,并且阻止頁面body滾動。bootstrap模態(tài)框原理
- bootstrap data與jquery .data
- jquery ui bootstrap 實現(xiàn)自定義風(fēng)格
- bootstrap改變按鈕加載狀態(tài)
- 基于Bootstrap+jQuery.validate實現(xiàn)Form表單驗證
- 使用jQuery和Bootstrap實現(xiàn)多層、自適應(yīng)模態(tài)窗口
- bootstrap table 服務(wù)器端分頁例子分享
- jquery ui resize 中border-box的bug修正
- Bootstrap基礎(chǔ)學(xué)習(xí)
相關(guān)文章
javascript如何在foreach循環(huán)完成之后執(zhí)行一個回調(diào)函數(shù)
forEach()是前端開發(fā)中操作數(shù)組的一種方法,主要功能是遍歷數(shù)組,其實就是 for 循環(huán)的升級版,下面這篇文章主要給大家介紹了關(guān)于javascript如何在foreach循環(huán)完成之后執(zhí)行一個回調(diào)函數(shù)的相關(guān)資料,需要的朋友可以參考下2023-11-11
CSS或者JS實現(xiàn)鼠標(biāo)懸停顯示另一元素
這篇文章主要介紹了CSS或者JS實現(xiàn)鼠標(biāo)懸停顯示另一元素的相關(guān)資料,需要的朋友可以參考下2016-01-01

