zoukankan      html  css  js  c++  java
  • 解决 居中 问题

    <div class="parent">
      <div class="child">DEMO</div>
    </div>


    水平居中
    (1)inline-block + text-align 优点是兼容性好。 inline-block 内容有多宽,就是多宽。 text-align 对inline元素有用。但是需要一些代码修复,text-align:center造成的问题。 <style type="text/css"> .parent { 200px; height: 30px; text-align: center;background-color: #ccc;} .child {display: inline-block;background-color: #369;} </style> (2)table + margin table 即像block元素,宽度又跟着内容走。 优点是指设定了child元素,不关系parent的样式。在ie8支持。 <style type="text/css"> .parent { 200px; height: 30px; background-color: #ccc; } .child {display: table; background-color: #369;margin: 0 auto;} </style> (3)absolute + transform transform:translateX(-50%) 移动自身的-50%的像素。 问题:主要是兼容性的问题,transform是css3. <style type="text/css"> .parent {position: relative; 200px; height: 20px; background-color: #ccc;} .child {position: absolute; left: 50%; transform: translateX(-50%); background-color: #369;} </style> (4) flex + justify-content 优点:只需要设定父元素。 或者对child 设定 margin: 0 auto; 缺点:低版本的不支持flex <style type="text/css"> .parent {display: flex; justify-content:center; 200px; height: 20px; background-color: #ccc;} </style> 垂直居中 (1)table-cell + vertical-align 变成单元格,加上vertical-align:middle; 优点:兼容性比较好。 <style type="text/css"> .parent {display: table-cell; vertical-align: middle; height: 100px;background-color: #ccc;} .child {background-color: #369;} </style> (2) absolute + transform <style type="text/css"> .parent {position: relative; height: 100px;background-color: #ddd;} .child {position: absolute; top: 50%; transform: translateY(-50%);} </style> (3)flex + align-items 优点只需要设定parent。 <style type="text/css"> .parent {display: flex; align-items:center; height: 100px;background-color: #ddd;} .child {background-color: #369;} </style> 水平和垂直都居中 (1) inline-block + text-align + table-cell + vertical-align <style type="text/css"> .parent { 100px; height: 100px; background-color: #444; text-align: center; display: table-cell; vertical-align: middle; } .child { background-color: #369; display: inline-block; } </style> (2)absolute + transform <style type="text/css"> .parent { 100px; height: 100px; background-color: #444; position: relative; } .child { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } </style> (3)flex + justify-content + align-items <style type="text/css"> .parent { 100px; height: 100px; background-color: #444; display: flex; justify-content: center; align-items:center; } .child { background-color: #369; } </style>

     

  • 相关阅读:
    动态生成 Excel 文件供浏览器下载的注意事项
    JavaEE 中无用技术之 JNDI
    CSDN 泄露用户密码给我们什么启示
    刚发布新的 web 单点登录系统,欢迎下载试用,欢迎提建议
    jQuery jqgrid 对含特殊字符 json 数据的 Java 处理方法
    一个 SQL 同时验证帐号是否存在、密码是否正确
    PostgreSQL 数据库在 Windows Server 2008 上安装注意事项
    快速点评 Spring Struts Hibernate
    Apache NIO 框架 Mina 使用中出现 too many open files 问题的解决办法
    解决 jQuery 版本升级过程中出现 toLowerCase 错误 更改 doctype
  • 原文地址:https://www.cnblogs.com/hgonlywj/p/4899705.html
Copyright © 2011-2022 走看看