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