使用angular/flex-layout,我有一個簡單的雙列布局。CSS Flexbox響應式佈局和%寬度
<div fxFlex fxLayout="row">
<div fxFlex="35%">
<!-- Left Column -->
</div>
<div fxFlex="65%">
<!-- Right Column -->
</div>
</div>
在小型顯示器上,我希望列在左下方環繞。
採用了棱角分明/柔性佈局的Responsive API,我添加了小屏幕斷點(600px的之間和959px)與fxLayout.sm="column"
容器元素:
<div fxFlex fxLayout="row" fxLayout.sm="column">
<div fxFlex="35%">
<!-- Left Column, Top Row -->
</div>
<div fxFlex="65%">
<!-- Right Column, Bottom Row -->
</div>
</div>
在小屏幕上左欄成爲排在前列,和右列,底部行。
然而,fxFlex="35%"
和fxFlex="65%"
屬性仍然遵守,所以行重疊。頂排佔據了顯示屏高度的35%,因爲它先前佔據了顯示屏的35%寬度。
有關該問題的示例,請參閱this Plunker。請注意,我使用fxLayout.xs
斷點而不是fxLayout.sm
來演示這個問題,因爲Plunker將顯示分爲多個小部分。用於溶液的一個例子
<div fxFlex fxLayout="row" fxLayout.sm="column">
<div fxFlex="35%" fxFlex.sm="">
<!-- Left Column, Top Row -->
</div>
<div fxFlex="65%" fxFlex.sm="">
<!-- Right Column, Bottom Row -->
</div>
</div>
我可以通過使用響應API(即fxFlex=""
)明確地除去fxFlex
解決此問題。
這有兩個問題。首先,它感覺非常非常黑客。其次,假設我想爲小型和超小型顯示器相同的行爲,我結束了:
<div fxFlex fxLayout="row" fxLayout.sm="column" fxLayout.xs="column">
<div fxFlex="35%" fxFlex.sm="" fxFlex.xs="">
<!-- Left Column, Top Row -->
</div>
<div fxFlex="65%" fxFlex.sm="" fxFlex.xs="">
<!-- Right Column, Bottom Row -->
</div>
</div>
除非有使用某個維度下面顯示的響應API,而不是設置斷點明確任何更簡單的方法?