您好,登錄后才能下訂單哦!
了解CSS3中box-sizing屬性有什么用?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
盒模型的組成大家肯定都懂,由里向外content,padding,border,margin.
盒模型是有兩種標準的,一個是標準模型,一個是IE模型。
從上面兩圖不難看出在標準模型中,盒模型的寬高只是內容(content)的寬高,
而在IE模型中盒模型的寬高是內容(content)+填充(padding)+邊框(border)的總寬高。
這里用到了CSS3 的屬性 box-sizing(默認值:content-box)
/* 標準模型 */ box-sizing:content-box; /*IE模型*/ box-sizing:border-box;
content-box: 這是CSS2.1指定的寬度和高度的行為。指定元素的寬度和高度(最小/最大屬性)適用于box的寬度和高度。元素的填充和邊框布局和繪制指定寬度和高度除外
border-box: 指定寬度和高度(最小/最大屬性)確定元素邊框box。也就是說,對元素指定寬度和高度包括padding和border的指定。內容的寬度和高度減去各自雙方該邊框和填充的寬度從指定的"寬度"和"高度"屬性計算
測試參考案例
理想中的效果和代碼如下圖:
----
應用在有用 bootstrap框架 的項目中發現bootstrap.min.css 樣式里默認 box-sizing: border-box; 會干擾搜索框的寬高
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
這個屬性導致頁面出現的樣子:
.input { width: 146px; height: 36px; line-height: 36px; background: transparent; border: 2px solid #0D349A; color: #bdbdbd; padding-left: 10px; padding-right: 30px; font-size: 14px; box-sizing:border-box; }
這個時候想要實現理想中的效果必須把樣式調整成:
.input { width: 190px; height: 40px; line-height: 40px; background: transparent; border: 2px solid #0D349A; color: #bdbdbd; padding-left: 10px; padding-right: 30px; font-size: 14px; box-sizing:border-box; }
PS技巧: 當一個容器寬度定義為 width:100%; 之后,如果再增加 padding 或者 border 則會溢出父容器,是向外擴張的
如果使用該樣式,指定為 box-sizing: border-box; 則 padding 和 border 就不會再溢出,而是向內收縮的,這個效果感覺非常實用的
感謝各位的閱讀!看完上述內容,你們對CSS3中box-sizing屬性有什么用大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。