css水平垂直居中三种实现方法

来源:互联网 发布:匈牙利算法矩阵 编辑:程序博客网 时间:2024/06/06 10:45

方法一:使用dispaly:inline-block 和 vertical-align 还有伪类实现

.block1{text-align:center;border:1px solid red;height:600px; }.block1:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em;}.center1{display:inline-block;vertical-align:middle;max-width: 90%;background-color:#00bcd4;}
  • 1
  • 2
  • 3

方法二:使用相对定位或者固定定位和transform来实现。(ie8及以下不支持)

.block2{text-align:center;border:1px solid blue;position:relative;height:600px;}.center2{position:absolute;top:50%;left:50%;background-color:#000;transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%)}
  • 1
  • 2

方法三:使用display:table和table-tell和vertical-align来实现。(ie8及以下不支持)

.block3{display:table;width:100%;height:600px;border:1px solid blue;}.center3{display:table-cell;text-align:center;vertical-align:middle;background-color: #b6c7c0}
  • 1
  • 2

以上三个的html

<body><div class="block1">    <div class="center1">            <h4>标题标题标题</h4>            <a href="#"><img src="http://www.51detao.com/images/home/guide/guide1.png" alt="..."></a>            <div class="intro">简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介</div>    </div></div><div class="block2">    <div class="center2">        <h4>标题标题标题</h4>        <a href="#"><img src="http://www.51detao.com/images/home/guide/guide1.png" alt="..."></a>        <div class="intro">简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介</div>    </div></div><div class="block3">    <div class="center3">        <h4>标题标题标题</h4>        <a href="#"><img src="http://www.51detao.com/images/home/guide/guide1.png" alt="..."></a>        <div class="intro">简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介简介</div>    </div></div></body>