码迷,mamicode.com
首页 > Web开发 > 详细

CSS多列布局实现方法介绍

时间:2016-04-07 23:05:14      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:

在css教程(http://www.maiziedu.com/course/web/421-5342/中,使用css实现多列图片等宽等间距布局是很常用的,在进行web前端项目开发时会经常在网页中用到,下面就以三列图片等宽等间距为例讲解实现方法。
每个图片块左浮动,宽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%.

CSS多列布局实现方法介绍

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!