1. 程式人生 > >CSS如何將元素垂直居中方法錦集

CSS如何將元素垂直居中方法錦集

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>實現元素垂直居中</title>
    <style>
        .box{
            background-color: pink;
            overflow: hidden;
            margin-bottom: 30px;
        }
        .text{
            background-color: #aaa;
            margin: 100px auto;
        }
        .box2 input{
            margin: 30px 0;
        }
        .box3 a{
            line-height: 100px;
        }
        .box4{
            height: 500px;
            position: relative;
        }
        .box4 span{
            display: inline-block;
            width: 200px;
            height: 200px;
            background-color: #eee;
            position: absolute;
            top: 50%;
            margin-top: -100px;
        }
    </style>
</head>
<body>

<b>方法一:</b>針對塊級元素在塊級元素裡垂直居中比較容易,父級元素不設定高度,設定overflow: hidden;(記得!!)子元素也就是需要居中的這位,margin值上下設定成一樣的。
<div class="box box1">
    <div class="text">塊級元素</div>
</div>

針對行內塊級元素在塊級元素裡垂直居中同上
<div class="box box2">
    <input type="text">
</div>

<b>方法二:</b>針對行級元素在塊級元素裡垂直居中。上述方法不好使,我這裡採用行高的形式line-height: 100px;
<div class="box box3">
    <a href="" title="">a標籤</a>
</div>

<b>方法三:</b>有定位(absolute)的元素可以這樣設: top: 50%;margin-top: -子元素高度一半;
<div class="box box4">
    <span>有定位</span>
</div>

</body>
</html>

複製貼上瀏覽器執行即可