為什么計(jì)算寬度
計(jì)算網(wǎng)頁像素寬度是為了CSS網(wǎng)頁布局整齊與兼容。常見的我們布局左右結(jié)構(gòu)網(wǎng)頁或使用padding、margin布局的時(shí)候?qū)⒂?jì)算
整頁寬度,如果不計(jì)算無論是寬度過大過小就會(huì)出現(xiàn)錯(cuò)位問題。
怎么計(jì)算CSS寬度
例一:我們計(jì)算一個(gè)左右結(jié)構(gòu)的布局樣式。
假如總寬度為400px,那么左右加起來就應(yīng)當(dāng)小于400px,那我們可能左邊為300px,右邊為100px
正確代碼:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右結(jié)構(gòu)寬度計(jì)算www.webjx.com</title>
<style type="text/css">
.webjxcom{width:400px;}
.zuo{ float:left; width:300px; background:#CCC;}
.you{ float:right; width:100px; background:#999}
</style>
</head>
<body>
<div class="webjxcom">
<div class="zuo">左邊300px</div>
<div class="you">右邊100px</div>
</div>
</body>
</html>
以上為正確的左右結(jié)構(gòu)總寬度剛好等于400px
錯(cuò)誤:
假如我們?cè)诳倢挾炔蛔兦闆r下,左邊為300px,而右邊為120px那總寬度超過了20px,
我們看看會(huì)出現(xiàn)什么問題,DIV+CSS代碼如下:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右結(jié)構(gòu)寬度計(jì)算www.webjx.com</title>
<style type="text/css">
.webjxcom{width:400px;}
.zuo{ float:left; width:300px; background:#CCC;}
.you{ float:right; width:120px; background:#999}
</style>
</head>
<body>
<div class="webjxcom">
<div class="zuo">左邊300px</div>
<div class="you">右邊100px</div>
</div>
</body>
</html>
我們根據(jù)上圖可看出因?yàn)榭倢挾却蠹s了20px,所以導(dǎo)致了左右結(jié)構(gòu)不能平齊,就出現(xiàn)了右邊往下掉。
這樣就出現(xiàn)了錯(cuò)位的兼容問題,一般在實(shí)際中因?yàn)槲覀冇?jì)算的疏忽,一般相差小的時(shí)候是1px-2px,
那樣就不會(huì)被我們發(fā)現(xiàn),所以排除錯(cuò)位兼容可以從寬度計(jì)算入手。
例二:左右結(jié)構(gòu)中有1px邊框?qū)嵗?br />
一般左右結(jié)構(gòu)中有1px邊框,然后再加上有些邊框這時(shí)我們?cè)O(shè)置左右結(jié)構(gòu)時(shí)候就需要將此邊框?qū)挾扰c左右結(jié)構(gòu)寬度計(jì)算在一起。
正確例子:
CSS與html代碼如下:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右結(jié)構(gòu)寬度計(jì)算www.webjx.com</title>
<style type="text/css">
.webjxcom{width:400px;}
.zuo{ float:left; width:298px; border:1px solid #F00; background:#CCC;}
.you{ float:right; width:98px; background:#999; border:1px solid #F00;}
</style>
</head>
<body>
<div class="webjxcom">
<div class="zuo">左邊300px</div>
<div class="you">右邊100px</div>
</div>
</body>
</html>
因左右結(jié)構(gòu)都有1px的寬度這個(gè)時(shí)候各需要減去左右2像素的邊框?qū)挾龋宰筮呑詈笫?98px,右邊為98px的寬度
如果不減去邊框?qū)?huì)造成一下效果:
DIV+CSS設(shè)置百分比寬度計(jì)算
有時(shí)候我們也需要使用百分比來計(jì)算寬度,通常情況也是總的百分比寬度,不能超過100%
CSS寬度計(jì)算時(shí)候注意總結(jié):
無論是左右結(jié)構(gòu)、多列的布局還是單獨(dú)一個(gè)DIV寬度的布局設(shè)置都需要注意寬度的把握與計(jì)算,
特別是使用了padding、margin、邊框等CSS屬性,這個(gè)時(shí)候我們都需要將它們?cè)O(shè)置的占用寬度計(jì)算入內(nèi),
牢牢把握同排各寬度之和小于或等于總寬度,如果大于總寬度將會(huì)出現(xiàn)錯(cuò)位的兼容問題。所以一般錯(cuò)位時(shí)
我們就可以從計(jì)算寬度入手,當(dāng)然錯(cuò)位還有很多原因這里也是解決錯(cuò)位兼容問題的方法之一。
【 微信掃一掃 】