总结了几种css居中实现的方式,注:*为常用方式,“wrap”为容器,“div”为要居中的元素。
*1.绝对定位,宽高都已知的情况下如下代码可实现,或者可以使用negative margins;
.div { width: 200px; height: 200px; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
2.不知道元素的宽高,仅仅实现某个div是其父的1/2,水平垂直居中,随着父元素的大小等比例放大或者缩小。
.div{ position: absolute; left: 30%; right:30%; top: 25%; bottom:25%;}
*3.translate,宽度已知,高度未知的情况下
.wrap{ width:200px;//也可以不写,默认占总宽度的50% position: absolute; top:50%; left:50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%);}
4.table-cell,div本身高度未知,仅仅实现垂直居中的情况下,ps,此种情况div宽度是100%
立即学习“前端免费学习笔记(深入)”;
.wrap{//外层容器 display: table;}.div{//内层容器 display: table-cell; vertical-align: middle; }
*5.flex布局,宽度都不固定的情况下,只要在父容器中设置display:flex即可。
.wrap{ display: flex; display: -webkit-flex; justify-content: center; align-items: center; }
6.hack方法,善于运用:after。
.wrap { text-align: center; overflow: auto; } .wrap:after, .div { display: inline-block; vertical-align: middle; } .div:after { content: ''; height: 100%; margin-left: -0.25em; /* 需要根据不同的字号做调整 */ } .wrap { max-width: 99%; /* 防止文档过长时会到容器的顶部 */ max-width: calc(100% - 0.25em) /* Only for IE9+ */ }
以上就是关于css的垂直水平居中六种方法分享的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1608029.html
微信扫一扫
支付宝扫一扫