你可以使用flexbox
。通過將主播分成兩組,這就是我想出的。請注意,我做了一個百分比來讓它起作用,所以它不能完全符合你的原始寬度。
HTML
<div class="main">
<aside class="first">
<a></a><a></a><a></a><a></a><a></a><a></a>
</aside>
<aside class="second">
<a></a><a></a><a></a><a></a><a></a><a></a>
</aside>
</div>
CSS
div.main {
display: flex;
flex-direction: column;
width: 100%;
}
aside {
display: flex;
flex-direction: row;
width: 100%;
}
aside a {
height: 50px;
display: flex;
}
/*widths and colors*/
.first a:nth-child(1) {
width: calc(12% *2);
background-color: hsl(65, 100%, 75%);
}
.first a:nth-child(2) {
width: calc(7% * 2);
background-color: hsl(20, 100%, 60%);
}
.first a:nth-child(3) {
width: calc(7% * 2);
background-color: hsl(40, 100%, 75%);
}
.first a:nth-child(4) {
width: calc(5% *2);
background-color: hsl(60, 100%, 60%);
}
.first a:nth-child(5) {
width: calc(14% *2);
background-color: hsl(80, 100%, 65%);
}
.first a:nth-child(6) {
width: calc(7% * 2);
background-color: hsl(100, 100%, 60%);
}
.second a:nth-child(1) {
width: calc(11% * 2);
background-color: hsl(260, 100%, 75%);
}
.second a:nth-child(2) {
width: calc(11% * 2);
background-color: hsl(140, 100%, 60%);
}
.second a:nth-child(3) {
width: calc(5% * 2);
background-color: hsl(160, 100%, 75%);
}
.second a:nth-child(4) {
width: calc(7% * 2);
background-color: hsl(180, 100%, 60%);
}
.second a:nth-child(5) {
width: calc(5% * 2);
background-color: hsl(200, 100%, 75%);
}
.second a:nth-child(6) {
width: calc(11% * 2);
background-color: hsl(220, 100%, 60%);
}
/* Desktops and laptops ----------- */
@media only screen
and (min-width : 600px) {
div.main {
flex-direction: row;
}
}
DEMO
聽起來像是你應該尋找到CSS媒體查詢 – mygeea
你甚至看我的問題? – Cris
我不太確定你的總體目標是什麼,也許是一個遊戲或其他東西,但也許嘗試這種方法使用彈性基礎? https://stackoverflow.com/questions/31621257/how-to-control-number-of-items-per-row-using-media-queries-in-flexbox – enjoylife