2017-01-08 60 views
0

我一直在我的項目中使用angular2-material,並且無法水平堆疊卡片。它們自動佔據全寬。通過css類限制寬度不會導致它們堆疊。隨後放置的所有卡片仍將放置在之前的位置。如何阻止md卡獲取完整的水平寬度?我如何將它們並排放置?

我希望得到一些指導,讓卡片水平放置(並在屏幕邊緣適當環繞)。

+0

可以請你提供一個最小的,完整的,並且可驗證例如http://stackoverflow.com/help/mcve – haxxxton

回答

1

你可以使用flex-box

https://jsfiddle.net/ntmrtnwu/

HTML

<div class="parent"> 
    <div class="child"> </div> 
    <div class="child"> </div> 
    <div class="child"> </div> 
</div> 

CSS

.parent { 
    display: flex; 
    justify-content: space-between; 
} 
.child { 
    margin: 10px; 
    background: red; 
    width: 100%; 
    height: 20px; 
} 

回覆將子div與<md-card></md-card>選擇器放置在一起,但將它們放置在具有flex屬性的父div中。應該管用。如果你不能讓它工作,我可以創造一個plnkr用料2

編輯

材料2 plunker與運作柔性

http://plnkr.co/edit/zHndJLKRSvTQUV1G6Bgp

+0

謝謝!我正在努力回覆@ haxxxton的反饋,但是你在回答完成之前已經回答了這個問題。我不確定是否需要將它們包裝在柔性盒中,或者是否有內置於angular2 /材質的東西。感謝您的回答! – Ijwu

+0

@Ijwu沒問題:) – Baruch

+0

我想我們也可以使用'display:inline-block',所有的瀏覽器都支持它 –

2

Flex的盒子是最新方法如其他答案中所示,但您可能會遇到少數瀏覽器的問題,因爲它不是所有瀏覽器都完全支持的。所以,除此之外,Twitter-bootstrap-css也可以爲遵循使用,

<div class="col-xs-12"> 
    <div class="col-sm-6"> 
      <md-card> 
        ... 
      </md-card> 
    </div> 

    <div class="col-sm-6"> 
       <md-card> 
        ... 
       </md-card> 
    </div> 
</div> 
+0

的確,您可能會遇到舊版瀏覽器的問題,但是您很可能會遇到同樣的問題通過簡單地使用材料考慮他們在他們的造型中使用諸如「變形」之類的東西。 – Baruch

+1

@Baruch也是如此。剛剛顯示的其他方法... – micronyks

+1

知識就是力量! – Baruch

相關問題