zoukankan      html  css  js  c++  java
  • 居中对齐的一些总结

    1、元素屏幕居中对齐

    相信很多人对margin:0 auto并不陌生,但是margin设置只能对齐左右,不能做到屏幕居中对齐。

    正确的做法是设一个position:absolute;top:50%;left:50;

    然而此时元素只是左上角居中了,设一个margin-left:-100px;margin-top:-100px;(假设元素200*200)就能实现居中对齐了。

    2、div内元素居中。

    1 <div id=“a”>
    2      <p>123</p>
    3      <p>123</p>
    4 </div>

    如果实现居中的话。

    正常的显示效果:第二个p被挤到下面去了,

    此时正确的做法是:

    让p强制变成表格元素,并实现垂直居中。

    display:table-cell;

    vertical-align:middle;

    text-align:center;

    效果如图:

    3、ul内几个li居中

    在做项目的时候,涉及到一行显示几个图标icon,然后icon附近有一些字符,然后对这几个li进行对齐。

    方法一:直接对ul设置padding-left值,使其表面上看着像居中。

    方法二:对ul设相对定位,然后向左偏移50%,添加向左浮动,然后对li子元素相对定位,向右偏移。一般以上就可以实现了,但是ie7不兼容。因为li已经把盒子结构破坏了,此时在li内部添加一个span  并设置为块元素 就可以将li撑开了。

    *{margin:0; padding: 0; list-style: none;}
    .box{overflow: hidden; zoom:1;}
    li{border:1px red solid; float: left; display: inline;}
    ul{position: relative; left: 50%; float: left;}
    li{position: relative; right:50%;}
    span{display: block;  50px; height: 50px;}

    方法三:将li元素变为内联块元素,并设置无浮动。设置宽高值。

    此时会出现有间隔的现象,解决办法是将ul的font-size设置为0,然后对li单独设置字体大小值。就可以解决。

    ul{text-align:center;font-size:0;}
    li{display:inline-block;float:none; 50px;height:50px;border:1px solid red;font-size:12px;}

  • 相关阅读:
    浅谈几种筛法
    [jzoj]4271. 【NOIP2015模拟10.27】魔法阵(37种转移的dp)
    【gdoi2018 day2】第二题 滑稽子图(subgraph)(性质DP+多项式)
    礼物(中国剩余定理+拓展gcd求逆元+分治=拓展Lucus)
    【GDOI2016模拟3.15】基因合成(回文串+性质+DP)
    【NOIP2013模拟】终极武器(经典分析+二分区间)
    【GDOI2016模拟3.16】幂(容斥 + 模型复杂转化)
    Hbase-cdh5.14.2与kylin集成异常
    拉链表
    数仓分层的理解
  • 原文地址:https://www.cnblogs.com/mian-bread/p/5054422.html
Copyright © 2011-2022 走看看