css基础之 图片瀑布流布局:用CSS+DIV等宽格子堆砌瀑布流效果 (一)
- <!doctype html>
- <html>
- <head>
- <meta charset="UTF-8"/>
- <title>新手教程:CSS+DIV等宽格子堆砌瀑布流效果_酷站代码丨www.5icool.org</title>
- <style>
- *{padding:0;margin:0;}
- #wrap{position:relative;zoom:1;margin:0px auto;}
- #wrap li{width:250px;float:left;list-style:none;}
- .boxCont{position:relative;margin:15px;border:1px solid #ccc;background:#eee;
- background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
- background: -webkit-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
- background: -moz-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
- background: -o-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
- -webkit-border-radius: 60px / 5px;
- -moz-border-radius: 60px / 5px;
- border-radius:60px / 5px;
- -webkit-box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
- -moz-box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
- box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
- }
- .boxCont:before{
- content:'';
- width: 50px;
- height: 50px;
- top:0; right:0;
- position:absolute;
- display: inline-block;
- z-index:-1;
- -webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
- box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
- -webkit-transform: rotate(2deg) translate(-14px,20px) skew(-20deg);
- -moz-transform: rotate(2deg) translate(-14px,20px) skew(-20deg);
- -o-transform: rotate(2deg) translate(-14px,20px) skew(-20deg);
- transform: rotate(2deg) translate(-14px,20px) skew(-20deg);
- }
- .boxCont:after{
- content: '';
- width: 100px;
- height: 100px;
- top:0; left:0;
- position:absolute;
- z-index:-1;
- display: inline-block;
- -webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
- box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
- -webkit-transform: rotate(2deg) translate(20px,25px) skew(20deg);
- -moz-transform: rotate(2deg) translate(20px,25px) skew(20deg);
- -o-transform: rotate(2deg) translate(20px,25px) skew(20deg);
- transform: rotate(2deg) translate(20px,25px) skew(20deg);
- }
- </style>
- </head>
- <body>
- <ul id="wrap"></ul>
- </body>
- <script type="text/javascript">
- var $id = function(o){ return document.getElementById(o) || o};
- function sort(el){
- var h = [];
- var box = el.getElementsByTagName("li");
- var minH = box[0].offsetHeight,
- boxW = box[0].offsetWidth,
- boxH,
- n = document.documentElement.offsetWidth / boxW | 0; //计算页面能排下多少Pin
- el.style.width = n * boxW + "px";
- for(var i = 0; i < box.length; i++) {
- boxh = box[i].offsetHeight; //获取每个Pin的高度
- if(i < n) { //第一行Pin以浮动排列,不需绝对定位
- h[i] = boxh;
- box[i].style.position = '';
- } else {
- minH = Math.min.apply({},h); //取得各列累计高度最低的一列
- minKey = getarraykey(h, minH);
- h[minKey] += boxh ; //加上新高度后更新高度值
- box[i].style.position = 'absolute';
- box[i].style.top = minH + 'px';
- box[i].style.left = (minKey * boxW) + 'px';
- }
- }
- };
- /* 返回数组中某一值的对应项数 */
- function getarraykey(s, v) {
- for(k in s) {
- if(s[k] == v) {
- return k;
- }
- }
- };
- /* 随机创建Pin */
- var pin = '';
- for(i = 0; i < 30; i++) {
- height = Math.floor(Math.random()*200 + 200);
- pin += '<li><div class="boxCont" style="height:' + height + 'px;"></div></li>';
- };
- $id("wrap").innerHTML = pin;
- window.onload = window.onresize = function() {
- sort($id("wrap"));
- };
- </script>
- </html>
css基础之 图片瀑布流布局:用CSS+DIV等宽格子堆砌瀑布流效果 (一)的更多相关文章
- CSS基础选择器(选择器的优先级),CSS样式块( 长度/颜色/显示方式/文本样式),盒模型组成,盒模型-block,盒模型布局
CSS基础选择器 (1)id选择器: # => 标签拥有 id="user" 属性 <style> #user { width: 200px; ...
- css怎么让图片垂直左右居中?(外层div是浮动且按照百分比排列)
一.原始的居中方法是把div换成table <div style="width: 500px; height: 200px; border: solid 1px red; text-a ...
- CSS 基础 例子 图片拼合技术
利用background-position xpos ypos 就是以图片的左上角顶点为原点,往下和右都为正,反之为负,移动图片 如: background-position: 15px 20px;( ...
- CSS基础 背景图片的相关属性
属性名: background-size: 宽度 高度; 属性值 说明 数字+px 简单方便,常用 百分比 相当于盒子自身的百分比,如:百分百,就是就算是图片变形也要显示 contain 动比例缩放, ...
- css基础语法一(选择器与css导入方式)
页面中,所有的CSS代码,需要写入到<style></style>标签中.style标签的type属性应该选择text/css,但是type属性可以省略. CSS修改页面中的所 ...
- CSS基础【1】:体验CSS
CSS起源 web的衰落:在 web 早期(1990-1993),html是一个很局限的语言.几乎完全由用于描述段落,超链接,列表和标题的结构化元素组成.随着万维网的出现(用户交互体验的加强),对 h ...
- Jquery图片轮播和CSS图片轮播
学习Jquery以后,很多时候觉得比写源生代码要简单一点.我们用JQuery做了一个图片轮播的动画,感觉比写CSS要简单一些.下面我来具体讲一下是怎么用JQuery来写. <body> & ...
- 开始编写寄几的 CSS 基础库
前言 在现在的互联网业务中,前端开发人员往往需要支持比较多的项目数量.很多公司只有 1-2 名前端开发人员,这其中还不乏规模比较大的公司.这时前端同学就需要独挡一面支持整个公司上下的前端业务,项目如流 ...
- CSS基础-行快属性,hover
CSS基础 1.行快属性 在css中有很多标签,分为行内标签,块标签,标签行内块标签,他们有着不同的属性. 块标签 div,ul,li,ol,h1~h6,p 可 ...
随机推荐
- hdu1597
Problem Description 假设: S1 = 1 S2 = 12 S3 = 123 S4 = 1234 ......... S9 = 123456789 S10 = 1234567891 ...
- eclipse中配置免安装tomcat7
参看如下链接:http://hi.baidu.com/gpy11/item/744c13e14614c9b52e140b25
- 解决jQuery中dbclick事件触发两次click事件
首先感谢这位小哥!http://qubernet.blog.163.com/blog/static/1779472842011101505853216/ 太长姿势了. 在jQuery事件绑定中,dbc ...
- WPF/MVVM 快速开发
http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial 这篇文章醍醐灌顶,入门良药啊! Introductio ...
- x位全排列(next_permutation)
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想 ...
- MVC4商城项目四:应用Bundle捆绑压缩技术
从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了[App_Start]文件夹下,而Global.asax只负责初始化.其中的BundleConf ...
- HTML基本标签大全
HTML标签 <h#></h#>标题标签<hr/>水平线,单标记<p></p>段落标签  空格<i></i ...
- Qt Project的持续集成方案
作者:齐亮链接:http://www.zhihu.com/question/24314354/answer/27547787来源:知乎著作权归作者所有,转载请联系作者获得授权. PETER HARTM ...
- Asp.net Web.Config - 配置元素customErrors
Asp.net配置文件的配置方式,其实在MSDN里面是写得最清楚的了.可惜之前一直未曾了解到MSDN的强大. 先贴个地址:http://msdn.microsoft.com/zh-cn/library ...
- Redis Clients Handling
This document provides information about how Redis handles clients from the point of view of the net ...