在SF上,有人提出一个问题:不用table,如何把Div分成3行*3列。提供了三种思路:
html:
id="box">
1
2
3
4
5
6
7
8
9
csss:
*{
margin:0 auto;
padding:0;
}
#box{
height:200px;
width:200px;
border:1px solid red;
}
div div{
width:100%;
height:32.855%;
}
span{
display:inline-block;
height:100%;
width:32%;
border:1px solid blue;
}
#box span:nth-child(2n+2){
border:1px solid red;
margin-left:-7px;
}
#box span:nth-child(2n+3){
border:1px solid green;
margin-left:-7px;
}
在线预览:https://jsfiddle.net/dwqs/wrj2xvhg/2/
可以考虑display的table、table-row和table-cell属性
html:
id="box">
1
2
3
4
5
6
7
8
9
css:
*{
margin:0 auto;
padding:0;
}
#box{
height:200px;
width:200px;
border:1px solid red;
display:table;
}
div div{
width:100%;
display:table-row;
}
span{
display:table-cell;
border:1px solid blue;
vertical-align:middle;
text-align:center;
}
在线预览:demo
利用css3的column-count布局
html:
id="box">
id="first">
人民网北京2月24日电 (记者 刘阳)国家发展改革委知,
人民网北京2月24日电 (记者 刘阳)国家发展改革委知,
人民网北京2月24日电 (记者 刘阳)国家发展改革委知,
css
*{
margin:0 auto;
padding:0;
}
#box{
height:200px;
width:200px;
border:1px solid red;
}
#box>div{
width:100%;
height:32.855%;
border:1px solid blue;
-moz-column-count:3; /* Firefox */
-webkit-column-count:3; /* Safari and Chrome */
column-count:3;
-moz-column-rule:4px outset #ff0000; /* Firefox */
-webkit-column-rule:4px outset #ff0000; /* Safari and Chrome */
column-rule:4px outset #ff0000;
}
#first{
}
在线预览:column-count实现
但要注意的是,使用列布局时,其包含的内容本身的宽度必读大于等于容器宽度,在大于容器宽度时,会自行增加列数。
淡忘~浅思猜你喜欢 | ||||
问题:如何在固定大小的DIV层插入N多个图片 |
Trick:CSS3的:target实现选项卡切换 |
【译】下一代选择器:CSS4 |
怎么解决div覆盖内容却没覆盖的问题? |
trick:CSS 3+checkbox实现JQuery的6个基本动画效果 |
无觅 |
转载请注明:淡忘~浅思 » Trick:不用table,怎么等分DIV