分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

css中实现水平垂直居中的几种方式

发布时间:2023-09-06 01:54责任编辑:胡小海关键词:暂无标签
水平居中
(1)使用inline-block+text-align
<div class="parent">
<div class="child">demo</div>
</div>

 ???.child { ????????????display:inline-block; ???????} ???????.parent { ????????????text-align:center ???????} ???原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中。 ???优点:兼容性好,甚至可以兼容ie6、ie7 ???(2)使用table+margin ???????.child { ???????????display:table ???????????margin:0 auto; ???????}原理:先将子框设置为块级表格来显示,再设置子框居中以达到水平居中。缺点:不支持ie6、ie7,将div换成table(3)使用absolute+transform ???.child { ????????????????position:absolute; ????????????????left:50%; ????????????????transform:translateX(-50%) ???????} ???????.parent { ?????????????????position:relative ???????}缺点:transform属于css3内容,兼容性存在一定问题,高版本浏览器需要添加一些前缀(4)使用flex+margin ???????.child { ?????????margin:0 auto ???????} ???????.parent { ???????????????display:flex ???????}缺点:低版本浏览器(ie6 ie7 ie8)不支持(5)使用flex+justify-content ???.parent { ???????????????display:flex; ???????????????justify-content:center ???????} ???缺点:低版本浏览器(ie6 ie7 ie8)不支持 ???垂直居中 ???(1)使用table-cell+vertical-align ???????.parent { ???????????????display:table-cell; ???????????????vertical-align:middle ???????} ???(2)使用absolute+transform ???????.child { ?????????position:absolute; ???????????top:50%; ???????????transform:translateY(-50%) ???????} ???????.parent { ???????????????position:relative ???????}缺点:transform属于css3内容,兼容性存在一定问题,高版本浏览器需要添加一些前缀 ???(3)使用flex+align-items ???????.parent { ???????????position:flex; ???????????align-items:center; ???????} ???水平垂直居中 ???(1)使用absolute+transform(未知高度) ???.parent { ???????????position:relative; ???????} ???.child { ???????????position:absolute; ???????????left:-50%; ???????????top:-50% ???????????transform:tranplate(-50%,-50%) ???????} ???(1.1)使用absolute+transform(已知高度) ???.parent { ???????????position:relative; ???????} ???.child { ???????????position:absolute; ???????????width:100px; ???????????height:100px; ???????????left:-50%; ???????????top:-50% ?????????margin: -50px 0 0 -50px; ???????} ???????(2)使用inline-block+text-align+table-cell+vertical-align ???????.parent { ???????????text-align:center; ???????????display:table-cell; ???????????vertical-align:middle; ???????} ???????.child { ???????????????display:inline-block; ???????} ???????优点:兼容性较好 ???????(3)使用flex+justify-content+align-items ???????.parent { ???????????display:flex; ???????????justify-content:center; ???????????align-items:center; ???????} ???????缺点:兼容性存在一定问题

css中实现水平垂直居中的几种方式

原文地址:http://blog.51cto.com/12885303/2116966

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved