CSS實現三列圖片等寬等間距佈局


每一個圖片塊左浮動,寬30%,左外邊距2.5%:
100%=(2.5%+30%)+(2.5%+30%)+(2.5%+30%)+2.5%
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0">
<title>三列圖片等寬佈局</title>
<style>
* {
    margin: 0;
    padding: 0;
}
img {
    display: block;
    width: 30%;
    margin: 2.5% 0 0 2.5%;
    float: left;
}
</style>
</head>
<body>
<div>
<img src="byd.jpg" /><img src="byd.jpg" /><img src="byd.jpg" />
<img src="byd.jpg" /><img src="byd.jpg" /><img src="byd.jpg" />
<img src="byd.jpg" /><img src="byd.jpg" /><img src="byd.jpg" />
</div>    
</body>
</html>

width: 30%; 表示父級元素寬度的30%.
height: 30%; 若是沒有設置父級元素的具體高度,那麼這個height是沒有效果的.

要實現響應式的正方形,能夠使用單位vw(Viewport Width):
.square {
    width: 30%;
    height: 30vw;
    background: url("byd.jpg") no-repeat scroll center 0 transparent;
    background-size: 100% 100%;
    margin: 2.5% 0 0 2.5%;
    float: left;
}
不過須要注意的是,低版本IE和低版本Android/iOS瀏覽器都不支持視窗(viewport)單位.

或者使用JS根據寬設置高,保證兼容性:
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
    $("img").height($("img").width());
});
$(window).resize(function(){
    $("img").height($("img").width());
});
</script>

百分比佈局也能夠看作是一種響應式佈局.
簡單實用的 百分比佈局 仍是很適合手機WAP頁面佈局的: min-width:320px; max-width:980px; width:100%; overflow-x: hidden; margin: 0 auto; 最小寬度320px,最大寬度980px,在320px和980px之間自動適應寬度,看起來還行. 在<img>標籤裏只用設置width屬性百分比值,好比width="40%",不用設置height屬性,這樣圖片可以自行按原比例縮放. 容器裏面的塊,一樣能夠用百分比佈局,好比左邊的60%,右邊的40%.
相關文章
相關標籤/搜索