div寬度設置width:100%后再設置padding或margin超出父元素的解決辦法


div寬度設置width:100%后再設置padding或margin超出父元素的解決辦法

一、總結

一句話總結:直接加上box-sizing:border-box;即可解決上述問題。

 

1、box-sizing的三個屬性分別是什么?

根據意思來記很好記的

值一、content-box (向外邊框) 

值二、border-box (向內邊框) 

值三、inherit (繼承爸爸)

 

2、設置邊框的樣式用什么屬性?

box-sizing

box-sizing:border-box;

 

 

二、div寬度設置width:100%后再設置padding或margin超出父元素的解決辦法

1、相關知識

 

語法

1
box-sizing: content-box|border-box|inherit;

值一、content-box (向外邊框)

這是由 CSS2.1 規定的寬度高度行為。

寬度和高度分別應用到元素的內容框。

在寬度和高度之外繪制元素的內邊距和邊框。

值二、border-box (向內邊框)

為元素設定的寬度和高度決定了元素的邊框盒。

就是說,為元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪制

通過從已設定的寬度和高度分別減去邊框和內邊距才能得到內容的寬度和高度。

值三、inherit (繼承爸爸)

規定應從父元素繼承 box-sizing 屬性的值。

 

2、代碼

<!DOCTYPE html>
< html >
< head >
< style
div.container
{
width:100%;
border:1em solid;
padding:15px;
box-sizing:border-box;
}
div.box
{
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
width:100%;
border:1em solid red;
float:left;
padding:15px;
}
</ style >
</ head >
< body >
  
< div class = "container" >
< div class = "box" >這個 div 占據左半部分。</ div >
</ div >
  
</ body >
</ html >

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM