zoukankan      html  css  js  c++  java
  • 如何只用CSS做到完全居中

    我们都知道 margin:0 auto; 的样式能让元素水平居中,而 margin: auto; 却不能做到垂直居中……直到现在。

    transform法

    和“完全居中”法的好处一样,简单有效,同时支持可变高度。为内容指定带有厂商前缀的transform: translate(-50%,-50%)和top: 50%; left: 50%;样式就可以让内容块居中。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <style type="text/css">
     7     .parent{width:200px;height:200px;background-color:#00FFFF;}
     8     .child{
     9         position:relative;top:50%;left:50%;
    10         height:100px;width:100px;
    11         background-color:red;
    12         -webkit-transform:translate(-50%,-50%);
    13         -moz-transform:translate(-50%,-50%);
    14         -ms-transform:translate(-50%,-50%);
    15         -o-transform:translate(-50%,-50%);
    16         transform:translate(-50%,-50%);
    17     }
    18     </style>
    19 </head>
    20 <body>
    21 <div class="parent">
    22     <div class="child"></div>
    23 </div>
    24 注意:    <br>
    25 好处:内容高度可变,并且代码量小<br>
    26 缺点:不支持    IE8 需要些产商前缀 会和其他transform样式有冲突 某些情况下的边缘和字体渲染会有问题<br>
    27 </body>
    28 </html>

    好处:

    • 内容高度可变
    • 代码量小

    同时注意:

    • 不支持IE8
    • 需要写厂商前缀
    • 会和其他transform样式有冲突
    • 某些情况下的边缘和字体渲染会有问题

    table-cell法

    这种可能是最好的方法,因为高度可以随内容改变,浏览器支持也不差。主要缺陷是会产生额外的标签,每一个需要居中的元素需要三个额外的HTML标签。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>table-cell方法</title>
     6     <style type="text/css">
     7     .Center-Container.is-Table{display:table;}
     8     .is-Table .Table-Cell{display:table-cell;vertical-align:middle;}
     9     .is-Table .Center-Block{width:50%;margin:0 auto;} 
    10     </style>
    11 </head>
    12 <body>
    13 <div class="Center-Container is-Table">
    14     <div class="Table-Cell">
    15         <div class="Center-Block">
    16         table-cell方法:<br/>
    17         优点:内容高度可变 内容溢出则能自动撑开父元素高度 浏览器兼容性好<br/>
    18         缺点:需要额外的 HTML 标签 <br/>
    19         </div>
    20     </div>
    21 </div>        
    22 </body>
    23 </html>    

    好处:

    • 内容高度可变
    • 内容溢出则能自动撑开父元素高度
    • 浏览器兼容性好

    同时注意:

    • 需要额外的HTML标签
  • 相关阅读:
    AttributeError: 'DatabaseFeatures' object has no attribute 'autocommits_when_autocommit_is_off'
    mac 添加adb环境变量
    ios环境搭建
    接口自动化测试平台介绍
    听风系统介绍
    nginx启动报错整理
    Mongodb: Sort operation used more than the maximum 33554432 bytes of RAM
    Mac上python 在终端使用pip3安装包报ConnectTimeoutError错误
    crontab -让服务器执行定时任务
    koajs项目之memcached实现session共享
  • 原文地址:https://www.cnblogs.com/liubeimeng/p/5796065.html
Copyright © 2011-2022 走看看