在CSS中如何制作横向相册,代码是什么
Admin 2022-07-16 群英技术资讯 284 次浏览
很久没有研究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、图片比例不会被破坏
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了css3实现可拖动的魔方3d效果 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
一、旧的opacity设置以下代码是firefox和safari旧版本所需的透明度设置:代码如下复制代码#myelement{-khtml-opacity:.5;-moz-opacity:0.5;}-khtml-opacity设置是针对旧版本的webkit渲染引擎,这种专用属性现在已经过时了,除非你还有需要兼容safari1.x.的用户。第二行使用专用属性-moz-opacity是为了兼容mozilla渲染引擎的 ...
这篇文章主要介绍了css设置多列等高布局的方法示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
css3只能实现一次动画吗css3不是只能实现一次动画。利用animation-iteration-count即可。animation-iteration-count属性定义动画应该播放多少次。默认值为一。语法animatio
项目过程中,开始使用了js的requestAnimationFrame方法实现进度条,但是在数据超级多的时候非常影响性能,如此改用css去实现,优化。 先贴代码: <!DOCTYPE html> <html lang=
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008