我想在我的html中使用flex box模型
我有一个div容器,里面有三个按钮。
<div id="viewport" class="linearlayout horizontal" data-am-control="vertical-layout" >
<!-- El div "container_buttons" estaría centrado en el medio del padre -->
<button id="twitter" class="btn item" data-am-control="button" >Twitter dinámico</button>
<button id="spinnerSimple" class="btn item" data-am-control="button" >Spinner simple</button>
<button id="spinnerCustom" class="btn item" data-am-control="button" >Spinner personalizado</button>
</div><!-- END VIEWPORT-->
我使用display:box和orientation:vertical ...但是我看到我的按钮内嵌了垂直...
我的问题在于所有浏览器。
Css是这样的:
#viewport{
width: 480px;
height: 800px;
background-image: linear-gradient(#a8a8a8, #ebebeb);
margin: 0 auto;
}
.linearlayout{
display: -webkit-box;
display: -moz-box;
display: box;
}
.horizontal{
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
box-orient: horizontal;
}
.vertical{
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
box-orient: vertical;
}
答案 0 :(得分:5)
你有一些事情不利于你。
您只使用2009年草案中的旧版属性,而不是每个浏览器都有。 IE10是第一款支持Flexbox的IE浏览器,它实现了2012年3月的草案。每个其他浏览器都有2009草案或标准草案的实现,有些同时具有这两种浏览器。
Webkit的2009 Flexbox实现不适用于按钮。如果添加其他同级元素,它们将按照您的预期垂直放置。 Chrome有2009版和标准版,但Safari,Android,iOS只有2009版实现。
您可以使用正确的属性集合来修复#1,但对于仅支持2009属性的Webkit浏览器,您无法对#2做任何事情。
.linearlayout {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.horizontal {
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
.vertical {
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
如果您只想垂直显示按钮,我建议您不要使用Flexbox:
button {
display: block;
width: 100%;
}