第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 教你如何用纯CSS代码实现垂直居中

教你如何用纯CSS代码实现垂直居中

时间:2023-12-31 20:24:35

相关推荐

教你如何用纯CSS代码实现垂直居中

目录

方法1:设定行高 ( line-height )

方法2:绝对定位

方法3:利用 transform

方法4:使用表格或假装表格

方法5:使用 Flexbox

十种水平垂直居中方案 :

在编辑一个页面时,通常用到水平居中垂直居中

而水平居中很好处理,不外乎就是 设定

margin: 0 auto;或是text-align: center;

就能轻松解决掉 水平居中 的 问题,但一直以来最麻烦的对齐问题,

都是 “垂直居中” 这个讨人厌的设定,

以下将介绍五种单纯利用 CSS 来实现 垂直居中 的 方法。

方法1:设定行高 ( line-height )

设定行高 是 垂直居中 最简单 的 方式,

适用于 “单行” 的 “行内元素” ( inline、inline-block ),

例如 单行 的 标题,或是已经设为 inline-block 属性 的 div,

若将line-height设成和高度一样的数值,则内容的 行内元素 就会被垂直居中

不过由此就可以看出,为什么必须要单行的行内元素,

因为如果多行,第二行与第一行的间距会变超大,

就不是我们所期望的效果了。

示例代码 :

实例效果 :

方法2:绝对定位

口诀 : 父 相 (relative) 子 绝 (absolute

绝对定位 就是 CSS 里的position: absolute

绝对定位 使元素的位置与文档流无关,因此不占据空间。

这一点与 相对定位 不同,相对定位 实际上被看作普通流定位模型的一部分,

因为元素的位置相对于它在 普通流 中的位置。

不过要特别注意的是,设定绝对定位子元素

父元素position必须要指定为relative喔 !

而且 绝对定位 的元素是会互相覆盖的,所以如果内容元素较多,可能就会有些问题。

示例代码 :

实例效果 :

方法3:利用 transform

transform是 CSS3 的 新属性 ,

主要掌管元素的 变形 、 旋转 和 位移 ,

利用 transform 里的translateY改变垂直位移

搭配元素本身的 top 属性,就可以做出垂直居中的效果,

比较需要注意的地方是,子元素 必须要加上 position: relative

不然就会没有效果的哦。

示例代码 :

实例效果 :

方法4:使用表格或假装表格

我们发现在 表格 这个 HTML 里面常用的 DOM 里 ,

要实现 垂直居中 是相当容易的,

只需要写一行vertical-align: middle就可以 ,

为什么呢 ?

最主要的原因就在于 table 的 display 是 table ,

tddisplaytable-cell

所以我们除了直接使用表格之外,

也可以将要 垂直居中 元素的 父元素 的 display 改为 table-cell ,

就可以轻松达成,不过修改 display 有时候也会造成其他样式属性的连动影响,

需要比较小心使用。

示例代码 :

实力效果 :

方法5:使用 Flexbox

使用align-items或 align-content 的属性 ,

轻轻松松就可以做到垂直居中的效果。

示例代码 :

实例效果 :

十种水平垂直居中方案 :

1、

2、

3、

父相子绝 , + 负 - margin

4、

5、

6、

7、

8、

9、

10、

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。