css – Flexbox不适用于按钮

前端之家收集整理的这篇文章主要介绍了css – Flexbox不适用于按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的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;
}

http://jsfiddle.net/adUD9/

解决方法

你有一些事情对你不利.

>您只使用2009年草案中的旧版属性,而不是每个浏览器都有一个实现. IE10是第一款支持FlexBox的IE浏览器,它实现了2012年3月的草案.每个其他浏览器都有2009草案或标准草案的实现,有些同时具有这两种浏览器.
> Webkit的2009 FlexBox实现不适用于按钮.如果添加其他同级元素,它们将按照您的预期垂直放置. Chrome有2009和标准实现,但Safari,Android,iOS只有2009实现.

您可以使用正确的属性集合来修复#1,但对于仅支持2009属性的Webkit浏览器,您无法对#2做任何事情.

http://jsfiddle.net/adUD9/3/

.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

http://jsfiddle.net/adUD9/1/

button {
    display: block;
    width: 100%;
}

猜你在找的CSS相关文章