CSS 中能夠使用%來給定指定元素的大小,也就是高度、寬度、margin,padding 等等,可是相信不少人都對百分比表示法的具體含義並不清楚,那麼不懂就練,畢竟是檢驗真理的惟一標準(考研黨舉個手我看看...)。javascript
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title> <script src="js/mui.min.js"></script> <link href="css/mui.min.css" rel="stylesheet"/> <script type="text/javascript" charset="utf-8"> mui.init(); </script> <style> .div_1 { background-color: orange; height: 300px; width: 400px; text-align: center; } .div_2 { background-color: purple; width:100%; height:50%; } </style> </head> <body> <div class="div_1"> <div class="div_2"> </div> </div> </body> </html>
通常來講,不少人認爲百分比表示法是針對當前元素的父元素來定義的,如上例,在父元素沒有padding的狀況下,高度爲300px,而子元素的高度設置爲 50% ,此時子元素高度爲150px,以下圖所示:css
那麼,加入 padding 以後的狀況又會如何?html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title> <script src="js/mui.min.js"></script> <link href="css/mui.min.css" rel="stylesheet"/> <script type="text/javascript" charset="utf-8"> mui.init(); </script> <style> .div_1 { background-color: orange; height: 300px; width: 400px; text-align: center; padding:100px 0; } .div_2 { background-color: purple; width:100%; height:50%; } </style> </head> <body> <div class="div_1"> <div class="div_2"> </div> </div> </body> </html>
咱們分別將父元素的上下padding設置爲100px,原來父元素高度爲300px,因此此時父元素內容的高度只有100px,而子元素的高度爲50px,如圖所示:java
這說明,百分比表示法所表示的僅僅是父元素「內容」的百分比,不包括padding。ui