2017-03-03 34 views
0

我想使用CSS屬性浮動水平對齊兩個元素沒有使兩個元素表現得像浮動元素不使用CSS屬性浮動

更spesific:

我希望他們能夠在水平方向排列,浮於母公司每側:

enter image description here

而且,如果屏幕變小,我希望他們裹相互的下方,同時仍然漂浮到母體的每一側(如使用浮動):

enter image description here

這可能實現使用flexbox或類似的東西?

+1

重複:沒有什麼錯誤使用float屬性。 – BoltClock

+0

是的,我從來沒有說過。我只是問你如何不使用它。 – slowpoke123

+0

float是一個非常特殊的屬性,具有非常獨特的一組佈局行爲。如果你可以用類似flexbox的東西來模擬它,我會感到驚訝。 – BoltClock

回答

2

我不知道的方式,僅基於一個孩子的財產左右兩邊互換元素就像真正的浮動一樣,沒有在包裝上指定flex-direction:row-reverse;。請參閱比較我的例子:在我之後http://codepen.io/ijstanley/pen/JWXwOy

<p>pseudo floats in reverse order in markup</p> 
<div class="flex wrapper"> 
    <div class="pseudo float right">right</div> 
    <div class="pseudo float left">left</div> 
</div> 
<p>pseudo floats in correct order in markup</p> 
<div class="flex wrapper"> 
    <div class="pseudo float left">left</div> 
    <div class="pseudo float right">right</div> 
</div> 
<p>pseudo floats in reverse order in markup, reverse flex direction</p> 
<div class="reverse flex wrapper"> 
    <div class="pseudo float right">right</div> 
    <div class="pseudo float left">left</div> 
</div> 
<p>pseudo floats in correct order in markup, reverse flex direction</p> 
<div class="reverse flex wrapper"> 
    <div class="pseudo float left">left</div> 
    <div class="pseudo float right">right</div> 
</div> 
<p>actual floats</p> 
<div class="floater wrapper"> 
    <div class="real float left">left</div> 
    <div class="real float right">right</div> 
</div> 

.wrapper { 
    border:3px solid gray; 
} 

.wrapper.flex { 
    display:flex; 
    flex-direction:row; 
    flex-wrap:wrap; 
    justify-content:space-between; 
} 

.wrapper.flex.reverse { 
    flex-direction:row-reverse; 
} 

.wrapper.floater { 
    width:100%; 
} 

.wrapper.floater::after { 
    content:''; 
    display:block; 
    clear:both; 
} 

.float { 
    min-height:200px; 
    background:red; 
    border:3px solid black; 
    width:300px; 
} 

.float.pseudo.left { 
    margin-right:auto; 
} 

.float.real.left { 
    float:left; 
} 

.float.real.right { 
    float:right; 
} 
+0

謝謝!它完美的作品。我結束了在標記中以正確的順序使用僞浮點數 – slowpoke123

+0

我有一個想法並更新了我的codepen,我添加了允許元素交換邊的順序屬性,但當有多個元素分配時它們仍不堆疊儘管如此。 –

0

1屬性:

.container{ 
    display: flex; 
    justify-content: space-between; 
} 

第二屬性(媒體查詢添加某些分辨率):

.container{ 
    flex-direction: column; 
} 
.1stDiv{ 
    margin-right: auto; 
} 
.2ndDiv{ 
    margin-left: auto; 
} 

保證金左:自動保證金權:汽車作品像爲flexbox浮動。

其他的想法出迴應VERSION:

.container{ 
     flex-direction: column; 
    }  
.1stDiv{ 
    align-self: flex-start; 
} 
.2ndDiv{ 
    align-self: flex-end; 
} 
+0

但是,這不會讓他們水平對齊,如果有像圖像nr 1 – slowpoke123

+0

請檢查更新的版本。 –

+0

它們仍然不水平對齊 – slowpoke123

0
#first{ 
    width:50px; 
    height:50px; 
    position:absolute; 
    left:0px; 
    right:auto; 
    top:0px; 
    background-color:red; 
} 

#second{ 
    width:50px; 
    height:50px; 
    position:absolute; 
    left:auto; 
    right:0px; 
    top:0px; 
    background-color:green; 
} 

Fiddle link

+0

這不適用於我想實現的包裝效果,如圖像編號2 – slowpoke123

+0

您可以嘗試使用引導程序。 – maximelian1986