纯CSS3,无JS实现不定宽高水平垂直居中,最优方法。
来源:互联网 发布:而立不惑知天命的含义 编辑:程序博客网 时间:2024/06/09 15:52
方法一:通过transform实现不定宽高元素水平垂直居中
.example1{position: absolute;top: 50%;left: 50%;z-index: 3;-webkit-transform:translate(-50%,-50%);border-radius: 6px;background: #fff;}
方法二:通过flex布局实现不定宽高元素水平垂直居中
.example2{display: -webkit-flex;justify-content: center;align-items: center;}
简单分析:
方法一;
先把元素设定为绝对定位,
然后通过 top 和 left 把元素的左上点移动到屏幕的中间,
最后通过 transform 属性,根据元素自身大小,相对向左和向上移动自身宽高的50%。
从而实现了不定宽高元素的水平垂直居中。
方法二:
设置父级元素 display 为 flex;
justify-content 设定子元素水平居中;
align-items 设定子元素垂直居中。
提醒,使用方法二时需要考虑浏览器兼容性,
对于PC端,一般chrome(测试版本:49.0.2623.110 m)和火狐(测试版本:49.0.2)都能很好地支持。ie不支持,显示的是顺序排列下来的宽度100%的模块。
对于移动端:
(1)上述代码iOS的原生safari浏览器是支持的;UC浏览器支持的很好;微信浏览器不支持(测试机型:苹果4s)
(2)安卓的原生浏览器不支持,能够正常显示模块,文档流依次排列;UC浏览器不支持,显示为空白;微信浏览器不支持
兼容浏览器写法:
.container{ display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */ display: -moz-box; /* Firefox 17- */ display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */ display: -moz-flex; /* Firefox 18+ */ display: -ms-flexbox; /* IE 10 */ display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */ }
1 0
- 纯CSS3,无JS实现不定宽高水平垂直居中,最优方法。
- 不定宽高水平且垂直居中的实现方法
- 不定宽高的水平垂直居中实现方式
- 如何实现不定宽高水平和垂直居中
- 不定宽高的水平垂直居中
- 不定宽高的水平垂直居中
- CSS3 不定宽高水平居中
- 不定宽高div水平垂直居中(兼容ie6)
- css布局不定宽高的水平垂直居中
- 不定宽高元素的水平垂直居中
- 不定宽高的盒子模型水平垂直居中问题。
- 只要三句话就可以实现不定宽高水平垂直居中。
- CSS3实现水平垂直居中
- CSS3实现水平垂直居中
- CSS3实现水平垂直居中
- CSS3实现水平垂直居中
- 纯CSS实现图片水平垂直居中于DIV(图片未知宽高)
- 纯CSS实现图片水平垂直居中于DIV(图片未知宽高)
- Minimum’s Revenge
- 51nod_1242 斐波那契数列的第N项
- Hello World — 一个辽宁省OIer的自述
- Java保留字_final
- iOS开发Debug之UIAlertViewController在iPad弹出崩溃问题
- 纯CSS3,无JS实现不定宽高水平垂直居中,最优方法。
- 搜索练习5/poj.org/problem2251/ Dungeon Master/bfs模板
- 1182 完美字符串
- IntelliJ IDEA2016 优化设置和常用快捷键
- Volley、handler、Json、RefreshLayout
- 关于List<xxxBean>的比较相同数据
- eclipse下new server时不可创建的解决方法
- http-equiv
- spring介绍