我在一個容器中組織了幾個div。Div寬度等於兩個其他div之間的差距
$(document).ready(function() {
$('#swap').click(function() {
$('#container').find('div.blue').each(function() {
$(this).removeClass('blue');
$(this).addClass('green');
});
});
});
#container {
border: 1px solid black;
border-right: 0px;
width: 500px;
min-height: 40px;
}
#left {
float: left;
}
#right {
float: right;
}
.purple {
background-color: #9471AB;
width: 70px;
}
.red {
background-color: #D48A8A;
width: 40px;
}
.green {
background-color: #A4B995;
width: 50px;
}
.blue {
background-color: #95AEB9;
width: 75px;
}
.red,.green,.blue,.purple {
height: 40px;
float: left;
box-sizing: border-box;
border-right: 1px black solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="container">
<div id="left">
<div class="purple">
</div>
<div class="purple">
</div>
<div class="purple">
</div>
</div>
<div id="middle">
<div class="red">
</div>
</div>
<div id="right">
<div class="blue">
</div>
<div class="blue">
</div>
<div class="green">
</div>
</div>
</div>
<br/>
<button id="swap">Swap</button>
.purple
,.blue
,.green
定義的寬度,但不.red
。對於這個例子,我給了它一個寬度。
我想.red
的寬度等於#left
和#right
之間的差距。我可以把它放在它們的下面,並使寬度等於容器寬度,但我正在尋找對文本友好的東西。
我已經把一個按鈕,將所有.blue
更改爲.green
。 .red
應該相應地擴展其寬度,所以沒有差距。有些場景可能有兩個.green
和一個.blue
在右邊,有些可能是三個.blue
或三個.green
等。它應該是動態的,而不是針對其他類的寬度計算的。
這是種東西['flexbox'](https://css-tricks.com/ snippets/css/a-guide-to-flexbox /)是專爲。 – Marty
@Marty,我不太關注。將'flex-grow'應用於'.red'什麼都不做。 – gator
閱讀更多內容 - 您需要爲容器和兄弟姐妹添加一些與柔性相關的屬性。 – Marty