第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有等間距div的流體寬度

具有等間距div的流體寬度

繁星coding 2019-06-15 17:20:21
具有等間距div的流體寬度我有一個流體寬度容器DIV。在這里面我有4個div所有300 px250px.。<div id="container">    <div class="box1"> </div>    <div class="box2"> </div>    <div class="box3"> </div>    <div class="box4"> </div></div>我想要發(fā)生的是框1向左浮動,方框4向右浮動,方框2和3之間間隔均勻。我希望空間也是流動的,所以瀏覽器越小,空間也就越小。
查看完整描述

3 回答

?
翻翻過去那場雪

TA貢獻(xiàn)2065條經(jīng)驗 獲得超14個贊

如果CSS 3是一個選項,這可以使用css完成。calc()功能。

案例1:在一行(小提琴 )

標(biāo)記很簡單-一堆帶有容器元素的div。

CSS看起來如下:

div{
    height: 100px;
    float: left;
    background:pink;
    width: 50px;
    margin-right: calc((100% - 300px) / 5 - 1px); }div:last-child{
    margin-right:0;}

哪里-1 px若要修復(fù)IE9+calc/舍入錯誤,請參閱這里

案例2:在多行(小提琴 )

這里,除了calc()職能,media queries是必要的。

基本思想是為每個#列狀態(tài)設(shè)置一個媒體查詢,然后使用calc()計算每個元素的邊距(除了最后一列中的元素)。

這聽起來是很多工作,但如果你用得少或用得少,這是很容易做到的。

(這仍然可以用常規(guī)的CSS完成,但是之后你必須手動完成所有的計算,然后如果你改變了你的盒子寬度-你必須重新計算出所有的東西)

下面是一個使用更少的示例:(您可以復(fù)制/粘貼此代碼這里為了玩它,(這也是我用來生成上面提到的小提琴的代碼)

@min-margin: 15px;@div-width: 150px;@3divs: (@div-width * 3);@4divs: (@div-width * 4);@5divs: (@div-width * 5);@6divs: (@div-width * 6);@
7divs: (@div-width * 7);@3divs-width: (@3divs + @min-margin * 2);@4divs-width: (@4divs + @min-margin * 3);@5divs-width: (@5divs + @min-mar
gin * 4);@6divs-width: (@6divs + @min-margin * 5);@7divs-width: (@7divs + @min-margin * 6);*{margin:0;padding:0;}.container{
    overflow: auto;
    display: block;
    min-width: @3divs-width;}.container > div{
    margin-bottom: 20px;
    width: @div-width;
    height: 100px;
    background: blue;
    float:left;
    color: #fff;
    text-align: center;}@media (max-width: @3divs-width) {
    .container > div {  
        margin-right: @min-margin;
    }
    .container > div:nth-child(3n) {  
        margin-right: 0;
    }}@media (min-width: @3divs-width) and (max-width: @4divs-width) {
    .container > div {  
        margin-right: ~"calc((100% - @{3divs})/2 - 1px)";
    }
    .container > div:nth-child(3n) {  
        margin-right: 0;
    }}@media (min-width: @4divs-width) and (max-width: @5divs-width) {
    .container > div {  
        margin-right: ~"calc((100% - @{4divs})/3 - 1px)";
    }
    .container > div:nth-child(4n) {  
        margin-right: 0;
    }}@media (min-width: @5divs-width) and (max-width: @6divs-width) {
    .container > div {  
        margin-right: ~"calc((100% - @{5divs})/4 - 1px)";
    }
    .container > div:nth-child(5n) {  
        margin-right: 0;
    }}@media (min-width: @6divs-width){
    .container > div {  
        margin-right: ~"calc((100% - @{6divs})/5 - 1px)";
    }
    .container > div:nth-child(6n) {  
        margin-right: 0;
    }}

所以基本上,你首先需要決定一個盒子的寬度和一個你想要的盒子之間的最小邊距。

這樣,您就可以計算出每個狀態(tài)所需的空間。

然后,使用calc()計算右邊距,使用nth-child從最后一列的框中刪除右邊距。

這個優(yōu)勢與已接受的答案相比,該答案使用text-align:justify當(dāng)你有超過一行的盒子-最后一行的盒子沒有“合理”的時候,例如:如果最后一行還有兩個盒子,我不希望第一個盒子在左邊,下一個盒子在右邊-相反,盒子是按照順序排列的。

關(guān)于瀏覽器支持:這將適用于IE9+、Firefox、Chrome、Safari6.0+-(參見這里欲知更多詳情)


查看完整回答
反對 回復(fù) 2019-06-15
  • 3 回答
  • 0 關(guān)注
  • 347 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號