我将Twitter Bootstrap 3.2中显示输入组的方式从display: table
更改为display: flex
但我不确定支持旧版浏览器需要哪些CSS前缀。
我目前的代码:
.form-group.input-group{
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: flex;
-webkit-align-items: stretch;
-moz-align-items: stretch;
-ms-align-items: stretch;
align-items: stretch;
}
.form-group.input-group > *:not( .input-group-addon){
-webkit-flex: 1 1 auto;
-moz-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
}
.input-group-addon{
-webkit-flex: 1 0 auto;
-moz-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
}
我是否需要使用所有这些前缀或其中一些是无用的?
答案 0 :(得分:4)
您可以使用Can I Use...。以下是flexbox
的浏览器支持的直接链接:http://caniuse.com/#search=flexbox
从中我们可以看出:
-ms-
前缀,并且仅支持2012语法(如页面上 Notes 部分所述)。-webkit-
前缀。 我们还可以确定,对于IE11以及更新版本的Firefox,Chrome和Opera,可以删除-ms-
,-moz-
和-webkit-
前缀
答案 1 :(得分:3)
您可以使用Autoprefixer。它适用于各种工具。而你必须只编写纯CSS;)
作为示例,您可以使用CLI为css添加前缀。在 bootstrap.css 上,您可以根据规范编写有效的CSS:
.form-group.input-group {
display: flex;
align-items: stretch;
}
.form-group.input-group > *:not( .input-group-addon) {
flex: 1 1 auto;
}
.input-group-addon {
flex: 1 0 auto;
}
并以
为前缀sudo npm install --global autoprefixer
autoprefixer bootstrap.css
上测试代码
侨 拉尔夫