在水平线上均匀分布div

Boj*_*jan 2 html css html5 css3

我试图在水平线上均匀分配div.我将在屏幕的最大宽度上有3个div.当我调整浏览器的大小并且它不能适合3时,它将切换为两个,然后一个.我已经找到了一些如何完成这个的例子,但没有一个按照我想要的方式做到.例如,我想要的是:

全屏宽度:

[------------------------------------------]
[   [--------]   [--------]   [--------]   ]
[   [        ]   [        ]   [        ]   ]
[   [        ]   [        ]   [        ]   ]
[   [--------]   [--------]   [--------]   ]
[                                          ]
[   [--------]   [--------]   [--------]   ]
[   [        ]   [        ]   [        ]   ]
[   [        ]   [        ]   [        ]   ]
[   [--------]   [--------]   [--------]   ]
[------------------------------------------]
Run Code Online (Sandbox Code Playgroud)

调整宽度:

[-----------------------------]
[   [--------]   [--------]   ]
[   [        ]   [        ]   ]
[   [        ]   [        ]   ]
[   [--------]   [--------]   ]
[                             ]
[   [--------]   [--------]   ]
[   [        ]   [        ]   ]
[   [        ]   [        ]   ]
[   [--------]   [--------]   ]
[                             ]
[   [--------]   [--------]   ]
[   [        ]   [        ]   ]
[   [        ]   [        ]   ]
[   [--------]   [--------]   ]
[-----------------------------]
Run Code Online (Sandbox Code Playgroud)

请注意,div每次都以页面为中心.

我能够找到的是这些示例强制div与div的边界左右,然后空间事件分布如下例所示:

[-----------------------------]
[[--------]         [--------]]
[[        ]         [        ]]
[[        ]         [        ]]
[[--------]         [--------]]
[                             ]
[[--------]         [--------]]
[[        ]         [        ]]
[[        ]         [        ]]
[[--------]         [--------]]
[                             ]
[[--------]         [--------]]
[[        ]         [        ]]
[[        ]         [        ]]
[[--------]         [--------]]
[-----------------------------]
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的代码示例:

Aru*_*Aru 8

希望这是你想要做的!

CSS

#container {
 width:100%;
 text-align:center;
}
#container > div {
 width: calc(100% / 6);  
 display: inline-block;
 vertical-align: top;   
 border:1px solid red;
 text-align:center;
 margin:2%;    
 padding:20px;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<div id="container">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
</div>
Run Code Online (Sandbox Code Playgroud)

请参阅http://jsfiddle.net/bvgn46hu/1的行动

  • 如果您不知道 div 的数量并且无法对 `calc(100% / 6)` 进行硬编码怎么办? (2认同)