美文网首页工作生活
水平居中和垂直居中

水平居中和垂直居中

作者: _Sandy_313 | 来源:发表于2019-06-30 13:40 被阅读0次

一、水平居中

(1)、水平居中-行内元素

    如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的。

(2)、水平居中-块级元素

    当被设置元素为 块状元素 时用 text-align:center 就不起作用了,这时也分两种情况:定宽块状元素和不定宽块状元素。

    1、设置了宽度的块状元素(定宽块状元素)

    可以直接设置margin:0 auto;来使盒子对于父元素水平居中。

   2、没有设置宽度的块状元素(不定宽块状元素)

    2.1用table标签包裹

        利用table标签的长度自适应性---即不定义其长度也不默认父元素body的长度(table其长度根据其内文本长度决定)

        第一步:为需要设置的居中的元素外面加入一个 table 标签 ( 包括 <tr>、<td> )。

        第二步:为这个 table 设置“左右 margin 居中”(这个和定宽块状元素的方法一样)。

    注意点:添加了无意义的标签

·

    2.2、改变块级元素的 display 为 inline-block 类型

        将元素变成行内块级元素,可以通过给父元素设置text-align:center;来让元素居中显示。

        注意点:这种做法会影响其父元素里面的其他子行内元素的的位置。

    2.3、设置浮动和相对定位来实现

        通过给父元素设置float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。

        注意点:需要给要水平居中的盒子加一个新的父盒子,这就添加了无意义的html元素。

二、垂直居中

1、垂直居中-父元素高度确定的多行文本(方法一)

    使用 table  (包括tbody、tr、td)标签包裹需要垂直居中的元素。其中 td 标签默认情况下就默认设置了 vertical-align 为 middle。元素会在表格内垂直居中。

2、垂直居中-父元素高度确定的多行文本(方法二)

    设置父元素的 display 为 table-cell(设置为表格单元显示)和vertical-align:middle;属性

    注意点:这种方法的好处是不用添加多余的无意义的标签,但缺点也很明显,它的兼容性不是很好,不兼容 IE6、7而且这样修改display的block变成了table-cell,破坏了原有的块状元素的性质。

相关文章

  • css水平居中和水平垂直居中

    水平居中和水平垂直居中demo

  • 常用的居中方法

    本文将介绍的居中方法有 ,水平居中,垂直居中和水平垂直居中。 一水平居中 二水平垂直居中

  • css 居中

    居中有水平居中和垂直居中。 水平居中+垂直居中 flex法 position法 就是计算呗~ 参考 CSS各种居中...

  • 居中对齐

    行内元素居中[#hang]垂直居中[#hc]水平居中[#hs] 块级元素居中[#kuai]垂直居中[#kc]水平居...

  • 水平居中与垂直居中

    水平居中和垂直居中可以说是在开发中经常遇到的问题,网上搜索水平居中和垂直居中的方法有很多,有的方法并不是很好,所以...

  • 实现元素水平居中的五种方法

    概述 我们平时看到的居中效果主要分为三大类,水平居中,垂直居中和水平垂直居中,在这里总结以下元素水平居中的方法。 ...

  • 水平居中和垂直居中

    水平居中设置--行内元素 水平居中设置--定宽块级元素 水平居中设置--不定宽块状元素 垂直居中--父元素高度确定...

  • 水平居中和垂直居中

    #水平居中 1.1.已知宽度块元素宽度 : 1.2.文本内容居中: 1.3.通过表格: 1.4.已知宽度,通过设置...

  • 水平居中和垂直居中

    假设有如下html结构 一、实现item在header内水平居中1、item定宽度 2、item不定宽度ps: m...

  • 水平居中和垂直居中

    水平居中 1、行内元素 父元素: 此方法父元素有没有宽度都ok 2、块级元素 需要居中的元素设置宽度 设置css ...

网友评论

    本文标题:水平居中和垂直居中

    本文链接:https://www.haomeiwen.com/subject/ydxbcctx.html