CSS 中可以使用%來給定指定元素的大小,也就是高度、寬度、margin,padding 等等,但是相信很多人都對百分比表示法的具體含義並不清楚,那么不懂就練,畢竟是檢驗真理的唯一標准(考研黨舉個手我看看...)。
練習:
<!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,如下圖所示:

那么,加入 padding 之后的情況又會如何?
練習:
<!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,如圖所示:

這說明,百分比表示法所表示的僅僅是父元素“內容”的百分比,不包括padding。
