居中方式整理

常见几种:

  1. 把margin设为auto

具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效。

2、使用 text-align:center

这个没什么好说的,只能对图片,按钮,文字等行内元素(display为inline或inline-block等)进行水平居中。但要说明的是在IE6、7这两个奇葩的浏览器中,它是能对任何元素进行水平居中的。

3、使用line-height让单行的文字垂直居中

把文字的line-height设为文字父容器的高度,适用于只有一行文字的情况。

定宽

水平居中
1.确定宽度的块级元素水平居中方法margin:0 auto;
2.绝对定位和left:50%,margin-left:-(width/2)
3.flex水平居中,justify-content:center;

垂直居中
1.固定宽高绝对定位top:50%,margin-top:-(height/2);line-height=height(单行的文字垂直居中)
2.flex垂直居中,align-items:center;

水平垂直居中
1.绝对定位
2.flex布局

不定宽

水平居中
垂直居中
水平垂直居中

均可

水平居中
1.inline,inline-block元素的水平居中,在父级块级元素中设置text-align:center;
垂直居中
水平垂直居中

1.使用表格
在表格中,则,只要用到 td(也可能会用到 th)元素的 align="center" 以及 valign="middle" 这两个属性处理它里面内容的水平和垂直居中问题,而且表格默认的就会对它里面的内容进行垂直居中。
2.使用display:table-cell来居中
3.使用浮动配合相对定位来进行水平居中

大概介绍一下1和3里面涉及到的
  1. 如果想在css中控制表格内容的居中,垂直居中可以使用 vertical-align:middle,至于水平居中,貌似css中是没有相对应的属性的,但是在IE6、7中我们可以使用text-align:center来对表格里的元素进行水平居中,IE8+以及谷歌、火狐等浏览器的text-align:center只对行内元素起作用,对块状元素无效。

  2. 方法三此方法也是关于浮动元素怎么水平居中的解决方法,并且我们不需要知道需要居中的元素的宽度。
    浮动居中的原理是:把浮动元素相对定位到父元素宽度50%的地方,但这个时候元素还不是居中的,而是比居中的那个位置多出了自身一半的宽度,这时就需要他里面的子元素再用一个相对定位,把那多出的自身一半的宽度拉回来,而因为相对定位正是相对于自身来定位的,所以自身一半的宽度只要把left 或 right 设为50%就可以得到了,因而不用知道自身的实际宽度是多少。

<style>
        <div class="a">
        <div class="b">234567890</div>
    </div>
        .a{
            float:left;
            position:relative;
            left:50%;
            border:2px solid red;
            clear:both;
        }
        .b{
            border:1px solid yellow;
            position:relative;
            left:-50%;
            background:green;
        }
    </style>

https://blog.csdn.net/wen2017/article/details/83031692

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容