不用table而实现等分DIV的方法

(编辑:jimmy 日期: 2024/10/31 浏览:2)

第一种方式

html:

XML/HTML Code复制内容到剪贴板
  1. <div id="box">  
  2.     <div>  
  3.         <span>1</span>  
  4.         <span>2</span>  
  5.         <span>3</span>  
  6.     </div>  
  7.      <div>  
  8.         <span>4</span>  
  9.         <span>5</span>  
  10.         <span>6</span>  
  11.     </div>  
  12.      <div>  
  13.         <span>7</span>  
  14.         <span>8</span>  
  15.         <span>9</span>  
  16.     </div>  
  17. </div>  

csss:

CSS Code复制内容到剪贴板
  1. *{   
  2.     margin:0 auto;   
  3.     padding:0;   
  4. }   
  5. #box{   
  6.     height:200px;   
  7.     width:200px;   
  8.     border:1px solid red;   
  9. }   
  10. div div{   
  11.     width:100%;   
  12.     height:32.855%;   
  13. }   
  14. span{   
  15.     display:inline-block;   
  16.     height:100%;   
  17.     width:32%;   
  18.     border:1px solid blue;   
  19. }   
  20. #box span:nth-child(2n+2){   
  21.      border:1px solid red;   
  22.     margin-left:-7px;   
  23. }   
  24. #box span:nth-child(2n+3){   
  25.      border:1px solid green;   
  26.     margin-left:-7px;   
  27. }   

在线预览:https://jsfiddle.net/dwqs/wrj2xvhg/2/
第二种方式

可以考虑display的table、table-row和table-cell属性
html:

XML/HTML Code复制内容到剪贴板
  1. <div id="box">  
  2.     <div>  
  3.         <span>1</span>  
  4.         <span>2</span>  
  5.         <span>3</span>  
  6.     </div>  
  7.      <div>  
  8.         <span>4</span>  
  9.         <span>5</span>  
  10.         <span>6</span>  
  11.     </div>  
  12.      <div>  
  13.         <span>7</span>  
  14.         <span>8</span>  
  15.         <span>9</span>  
  16.     </div>  
  17. </div>  

css:

CSS Code复制内容到剪贴板
  1. *{   
  2.     margin:0 auto;   
  3.     padding:0;   
  4. }   
  5. #box{   
  6.     height:200px;   
  7.     width:200px;   
  8.     border:1px solid red;   
  9.     display:table;   
  10. }   
  11. div div{   
  12.     width:100%;   
  13.     display:table-row;   
  14. }   
  15. span{   
  16.     display:table-cell;   
  17.     border:1px solid blue;   
  18.     vertical-align:middle;   
  19.     text-align:center;   
  20. }  

在线预览:demo
第三种方式

利用css3的column-count布局
html:

XML/HTML Code复制内容到剪贴板
  1. <div id="box">  
  2.     <div id="first">  
  3.         人民网北京2月24日电 (记者 刘阳)国家发展改革委知,   
  4.     </div>  
  5.      <div>  
  6.          人民网北京2月24日电 (记者 刘阳)国家发展改革委知,   
  7.     </div>  
  8.      <div>  
  9.          人民网北京2月24日电 (记者 刘阳)国家发展改革委知,   
  10.     </div>  
  11. </div>  

css

CSS Code复制内容到剪贴板
  1. *{   
  2.     margin:0 auto;   
  3.     padding:0;   
  4. }   
  5. #box{   
  6.     height:200px;   
  7.     width:200px;   
  8.     border:1px solid red;   
  9. }   
  10. #box>div{   
  11.     width:100%;   
  12.     height:32.855%;   
  13.     border:1px solid blue;   
  14.     -moz-column-count:3; /* Firefox */  
  15.     -webkit-column-count:3; /* Safari and Chrome */  
  16.     column-count:3;   
  17.      -moz-column-rule:4px outset #ff0000; /* Firefox */  
  18.      -webkit-column-rule:4px outset #ff0000; /* Safari and Chrome */  
  19.       column-rule:4px outset #ff0000;   
  20. }   
  21. #first{   
  22. }  

在线预览:column-count实现
但要注意的是,使用列布局时,其包含的内容本身的宽度必读大于等于容器宽度,在大于容器宽度时,会自行增加列数。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。