若是用 JS 动态的添加 html 元素到有 flexbox 属性的元素上,那么渲染的时候 可能会有问题。

CSS 代码如下:

.display-flex {
/* OLD: Safari, iOS, Android browser, older WebKit browsers. */
display: -webkit-box;
/* OLD: Firefox (buggy) */
display: -moz-box;
/* MID: IE 10 */
display: -ms-flexbox;
/* NEW, Chrome 21–28, Safari 6.1+ */
display: -webkit-flex;
/* NEW: IE11, Chrome 29+, Opera 12.1+, Firefox 22+ */
display: flex;
}
/*
里面的直接子元素相对于外层容器 水平居中,
就可以不用table 让未知宽度的元素水平居中了
*/
.display-flex.justify-content-center {
-webkit-box-pack: center;
-moz-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
}
/*
里面的直接子元素相对于外层容器 垂直居中
*/
.display-flex.align-items-center {
-webkit-box-align: center;
-moz-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
/* 设置column 为竖向排列, 默认属性是row 横向排列 */
.display-flex.flex-direction-column {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
/*让子元素都有相同的长度*/
.display-flex .flex1{
-webkit-box-flex:;
-moz-box-flex:;
-ms-box-flex:;
-ms-neg-flex:; -webkit-flex:;
-ms-flex:;
flex:;
} .div-box{
height: 200px;
border:1px solid red;
}
.div1{
height: 100px;
background-color:red;
}

HTML 的代码

例子1:

<!-- 什么都不加 -->
<div class='div-box'>
<div class='div1'>aaaa</div>
<div class='div2'>bbbb</div>
</div>

例子2:

<!-- 只加 display-flex -->
<div class='div-box display-flex'>
<div class='div1'>aaaa</div>
<div class='div2'>bbbb</div>
</div>

例子3:

<!-- 加 display-flex 和 flex1 -->
<div class='div-box display-flex'>
<div class='div1 flex1'>aaaa</div>
<div class='div2 flex1'>bbbb</div>
</div>

例子4:

注意这个时候不要加 flex1, 否则居中看上去就不起作用了, 因为它们两个各占一半的宽度。

<!-- 加 display-flex 和 justify-content-center -->
<div class='div-box display-flex justify-content-center'>
<div class='div1'>aaaa</div>
<div class='div2'>bbbb</div>
</div>

例子5:

<!-- 加 display-flex 和 align-items-center -->
<div class='div-box display-flex align-items-center'>
<div class='div1'>aaaa</div>
<div class='div2'>bbbb</div>
</div>

例子6:

<!-- 加 display-flex 和 align-items-center 和 flex1 -->
<div class='div-box display-flex align-items-center'>
<div class='div1 flex1'>aaaa</div>
<div class='div2 flex1'>bbbb</div>
</div>

例子7:

<!-- 加 display-flex 和 align-items-center 和 justify-content-center -->
<div class='div-box display-flex align-items-center justify-content-center'>
<div class='div1'>aaaa</div>
<div class='div2'>bbbb</div>
</div>

例子8:

<!-- 加 display-flex 和 align-items-center 和 justify-content-center 和 flex-direction-column -->
<div class='div-box display-flex align-items-center justify-content-center flex-direction-column'>
<div class='div1'>aaaa</div>
<div class='div2'>bbbb</div>
</div>

参考地址:  https://www.smashingmagazine.com/2013/05/centering-elements-with-flexbox/

附几张兼容性属性的截图:

最新文章

  1. Java进击C#——语法之IO操作
  2. C# WebBrowser不能运行打开页面的activex
  3. HTML5 Canvas一些常用的操作
  4. 解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题
  5. CSS中的float与clear
  6. Windows下64位Apache服务器的安装
  7. JQUERY解析XML IE8的兼容问题
  8. [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)
  9. Linux C程序的编译过程
  10. Phonegap3.4 教程
  11. Qt之QtScript(一)
  12. Proguard中optimize设置不当引发SimException
  13. 【转】手机web——自适应网页设计(html/css控制)
  14. Java关键字transient和volatile小结(转)
  15. java做成windows服务,电子秤例子,开机自动启动
  16. 初识C语言 (四)
  17. mysql--实现oracle的row_number() over功能
  18. 在Winform框架界面中改变并存储界面皮肤样式
  19. Leetcode 70.爬楼梯 By Python
  20. php之函数

热门文章

  1. BizTalk发布WS-Security的web services
  2. c# MessageBox 用法大全
  3. mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
  4. 《前端们,贺老 Live 面试你了!》所引发的思考与实践
  5. XQuery的 value() 方法、 exist() 方法 和 nodes() 方法
  6. linux基础3——与XP共享文件夹的设置
  7. sqlite读取中文乱码(C#)
  8. bottlepy template
  9. win7双系统安装ubuntu并配置常用软件
  10. 单片机中用c编程时头文件reg51.h及reg52.h解析