温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决CSS垂直水平居中的问题

发布时间:2021-07-13 11:43:02 阅读:144 作者:小新 栏目:web开发
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍了如何解决CSS垂直水平居中的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

CSS 居中对齐

  • 代码中均省略了浏览器前缀

  • 以下例子以我的个人的标准排序

  • 当然也有更多的居中处理方法 但我觉得只有这5种方法是最完善的解决方案

flex 居中

优点:可对未知高度进行居中处理

<style>
    .wrap{height100%;display: flex; justify-content: center; align-items: center;align-content:center;}
    
    .other{background-color#cccwidth400px;height400px;} /* 额外的样式 可去除 */
</style>
<div class="wrap">
    <div class="other">
        <h3>这是第二层的内容 不会居中</h3>
    </div>
</div>

position + translate 居中

优点: 可对未知高度进行居中处理、嵌套层最少

<style>
    /* position 可选 absolute|fixed*/
    .center{position: absolute;left50%;top50%transformtranslate(-50%,-50%);}
    
    .other{background-color#ccc; } /* 额外的样式 可去除 */
</style>
<div class="center other">
    <h3>这一层的内容 不会居中</h3>
</div>

table-cell 居中

缺点:1. 居中层需要设置宽度(.center)。 2.外层多嵌套一层(.cell) 3. 居中层必须设置宽度(允许 %)

<style>
    .wrap{display: table;width100%;height100%;}
    .cell{display: table-cell;vertical-align:middle;}
    .center{width400px;margin-left:auto;margin-right:auto;}
    .other{background-color#ccc;  height400px;} /* 额外的样式 可去除 */
</style>
<div class="wrap">
    <div class="cell">
        <div class="center other">
            <h3>这一层的内容 不会居中</h3>
        </div>
    </div>
</div>

传统居中 (2种)

缺点:1. margin 值必须为auto。 2. 居中层必须设置高宽(允许 %) 3. 必须使用 position

<style>
    /*
        1. left、top、right、bottom 可以任意,但必须相等
        2. position 可选 absolute|fixed
    */
    .center{position: absolute;left10px;top10px;right10px;bottom10px;margin: auto;width400px;height400px;}
    .other{background-color#ccc; } /* 额外的样式 可去除 */
</style>
<div class="center other">
    <h3>这一层的内容 不会居中</h3>
</div>

缺点: 居中层必须设置固定高宽,并且magin需要通过高宽计算得出。

<style>
    .wrap{position: relative;height100%;}
    .center{position: absolute;left50%;top50%width400px;height300pxmargin-left: -200px;margin-top: -150px;}
    .other{background-color#ccc; } /* 额外的样式 可去除 */
</style>
<div class="wrap">
    <div class="center other">
        <h3>这一层的内容 不会居中</h3>
    </div>
</div>

感谢你能够认真阅读完这篇文章,希望小编分享的“如何解决CSS垂直水平居中的问题”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://www.jb51.net/css/595592.html

css
AI

开发者交流群×