Css 如何创建栅格/平铺视图?
例如,我有一些class.article,我想把这个类看作网格视图。所以我采用了这种风格:Css 如何创建栅格/平铺视图?,css,grid,positioning,css-float,tiles,Css,Grid,Positioning,Css Float,Tiles,例如,我有一些class.article,我想把这个类看作网格视图。所以我采用了这种风格: .article{ width:100px; height:100px; background:#333; float:left; margin:5px; } 该样式将使.article看起来平铺/网格化。在固定高度下工作很好。但是如果我想将高度设置为自动(根据其中的数据自动拉伸),网格看起来很糟糕 我想把视图做成这样: 这种布局称为砌体布局。砌体是另一种网格布局,但它将填充因图元
.article{
width:100px;
height:100px;
background:#333;
float:left;
margin:5px;
}
该样式将使.article看起来平铺/网格化。在固定高度下工作很好。但是如果我想将高度设置为自动(根据其中的数据自动拉伸),网格看起来很糟糕
我想把视图做成这样:
这种布局称为砌体布局。砌体是另一种网格布局,但它将填充因图元高度不同而产生的空白 是jQuery插件之一,用于创建砌体布局
或者,您可以使用CSS3S。但是现在基于jQuery的插件是最好的选择,因为与CSS3列存在兼容性问题。这种类型的布局称为砌石布局。砌体是另一种网格布局,但它将填充因图元高度不同而产生的空白 是jQuery插件之一,用于创建砌体布局
或者,您可以使用CSS3S。但是现在基于jQuery的插件是最好的选择,因为它与CSS3列存在兼容性问题。如果你想更进一步,请使用同位素,它是砌体的高级版本(由同一作者开发)。它不是纯CSS,它使用Javascript的帮助,但非常流行,所以你会找到大量的文档
如果您发现它非常复杂,那么有许多高级插件已经基于同位素进行了开发,例如媒体盒,如果您想比砌体更进一步,请使用同位素它是砌体的高级版本(由同一作者开发),它不是纯CSS,它使用Javascript的帮助,但是它非常流行,所以你会发现很多文档 如果您发现它非常复杂,那么有许多高级插件已经基于同位素进行了开发,例如媒体盒,您可以使用flexbox
#柔性容器{
显示器:flex;
柔性流:柱包裹;
}
#flex container>:第n个子(3n+1){order:1;}/*第1列*/
#flex容器>:第n个子(3n+2){顺序:2;}/*第2列*/
#flex容器>:第n个子(3n+3){顺序:3;}/*第3列*/
#flex container>:第n个子级(-n+3){
分页符之前:始终;/*CSS 2.1语法*/
在之前中断:始终;/*新语法*/
}
遗憾的是,并非所有浏览器都支持flexbox中的换行符。不过,它可以在Firefox上运行#柔性容器{
显示器:flex;
柔性流:柱包裹;
}
#flex容器>:第n个子(3n+1){顺序:1;}/*第1列*/
#flex容器>:第n个子(3n+2){顺序:2;}/*第2列*/
#flex容器>:第n个子(3n+3){顺序:3;}/*第3列*/
#flex容器>:第n个子级(-n+3){
分页符之前:始终;/*CSS 2.1语法*/
在之前中断:始终;/*新语法*/
}
/*以下是可选的*/
#flex容器>div{
背景:#666;
颜色:#fff;
保证金:3倍;
显示器:flex;
证明内容:中心;
对齐项目:居中;
字体大小:36px;
}
#flex容器>:第n个子(1){高度:100px;}
#flex容器>:第n个子(2){高度:50px;}
#flex容器>:第n个子(3){高度:75px;}
#flex容器>:第n个子(4){高度:50px;}
#flex容器>:第n个子(5){高度:100px;}
#flex容器>:第n个子(6){高度:50px;}
#flex容器>:第n个子(7){高度:100px;}
#flex容器>:第n个子(8){高度:75px;}
#flex容器>:第n个子(9){高度:125px;}
123
456
789
您可以使用flexbox
#柔性容器{
显示器:flex;
柔性流:柱包裹;
}
#flex container>:第n个子(3n+1){order:1;}/*第1列*/
#flex容器>:第n个子(3n+2){顺序:2;}/*第2列*/
#flex容器>:第n个子(3n+3){顺序:3;}/*第3列*/
#flex container>:第n个子级(-n+3){
分页符之前:始终;/*CSS 2.1语法*/
在之前中断:始终;/*新语法*/
}
遗憾的是,并非所有浏览器都支持flexbox中的换行符。不过,它可以在Firefox上运行#柔性容器{
显示器:flex;
柔性流:柱包裹;
}
#flex容器>:第n个子(3n+1){顺序:1;}/*第1列*/
#flex容器>:第n个子(3n+2){顺序:2;}/*第2列*/
#flex容器>:第n个子(3n+3){顺序:3;}/*第3列*/
#flex容器>:第n个子级(-n+3){
分页符之前:始终;/*CSS 2.1语法*/
在之前中断:始终;/*新语法*/
}
/*以下是可选的*/
#flex容器>div{
背景:#666;
颜色:#fff;
保证金:3倍;
显示器:flex;
证明内容:中心;
对齐项目:居中;
字体大小:36px;
}
#flex容器>:第n个子(1){高度:100px;}
#flex容器>:第n个子(2){高度:50px;}
#flex容器>:第n个子(3){高度:75px;}
#flex容器>:第n个子(4){高度:50px;}
#flex容器>:第n个子(5){高度:100px;}
#flex容器>:第n个子(6){高度:50px;}
#flex容器>:第n个子(7){高度:100px;}
#flex容器>:第n个子(8){高度:75px;}
#flex容器>:第n个子(9){高度:125px;}
123
456
789
解决仅使用css的问题的最佳选项是使用css列计数属性
.content-box {
border: 10px solid #000000;
column-count: 3;
}
检查这个mo
<!--[if lte IE 9]>
<script src="/path/to/js/masonry.pkgd.min.js"></script>
<![endif]-->