php图片横排,CSS实现相册横向完美排布方法

最近要做一个相册页面,碰到的第一个问题就是如何排布。本文我们将带大家来看一个关于CSS解决相册横向完美排布例子的,希望这个例子能够为各位同学带来帮助了,有兴趣的一起来看看吧。

分析一下,有一个容器,容器有padding,每一行的每一个item之间又有margin,首先想到的是这样

.container

{ padding: 10px;

}

.container .item

{ float: left; width: 24%; margin-left: 1%; border: 1px solid #CCC;

}

然而,这种情况会造成两个问题,首先第一个是第一个item自身的margin-left加上.container的padding会造成左边空白比上下左右都要大,还会造成item与item之间的垂直间距与水平间距不能控制到一样的大小。

于是考虑到使用calc属性

.

container { padding: 5px; }

.container .item

{ width: 25%; position: relative; float: left; }

/* 这个图片仅仅是为了获取宽高,实际是看不见的 */ .container .item >

img { opacity: 0; width: 100%; }

/* 这个才是每一个item里容器 .container .item .body

{ border: 1px solid #CCC; width: calc(100% - 10px);

height: calc(100% - 10px);

margin: auto;

left: 0;

top: 0;

bottom: 0;

right: 0;

}

以上代码如果要是用sass来实现的话,更容易了,这种实现方法相当于实际上每一个item占用的大小就是25%,只是里面的body都上下左右都有5px的边距。item与item之间的边距实际上就是每一个item的右间距加上右边item的左边距,每一个item的下边距加上它下方item的上边距。

这种实现方法有几个好处:

1、上下左右都是一样的边距

2、纯样式

3、图片比例不会被破坏

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值