当前位置:首页 > 技术分析 > 正文内容

css 垂直居中的几种实现方式(css中垂直居中属性)

ruisui885个月前 (01-22)技术分析29

前言

设计是带有主观色彩的,同样网页设计中的 css 一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。

实现方式

备注:如下页面效果中的灰色方框高度都做了限定为 100 px(即父元素)

1、line-height 方式

line-height 设置行高,多用于控制多行文本之间的间隔大小。但利用它的特性也可以控制垂直居中。

值得注意:

内联元素无法设置固定高度 height ,如果设置了 line-height 即为该元素所属行的高度,但其中的文本是垂直居中的。

块级元素需要转为内联块级元素 inline-block ,并且需要定高,对其中文本需设值 vertical-align 垂直居中属性

2、定高图片 + vertical-align 方式

上例中已经提到了 vertical-align 属性,应该注意到它需要和 line-height 一同使用才有效果。

本例除了说明该属性的使用场景外,另外添加了 img 内联块级元素的垂直居中举例。具体代码如下:

3、table 方式

通过设置父类元素的布局为 table,然后将子元素的布局设置为 table-cell 单元格方式,最后通过 vertical-align 使元素垂直居中。

4、position + margin auto 方式

设置子元素绝对定位(注意,这将不关心当前元素是否块级还是内联元素),然后将该元素的定位位置调为置顶和置底,将 margin 设置为 auto 达到最后效果。

5、position + margin 偏移方式

类似上例,只需设置 top 置顶,然后调试 margin-top 来使得子元素偏移完成垂直居中。

6、position + transform 方式

和水平居中一样,先设置为绝对布局,并设置 top 50%、bottom 50%,最后通过 transform 设置 x 轴、y 轴的偏移量来调整子元素的定位。

7、flex 方式

弹性布局,最简单的方式。一个 align-items 搞定。

总结

上面只列举了 7 种垂直居中的实现方法,相信还要更多的方式。不过不管哪种方法,能在业务代码实践中最快速、最准确的运用才是最佳实践。

相关链接

css 水平居中的几种实现方式

希望在读的各位能有所收获。

关于我

一名工作在一线的前端工程师,乐于实践,并分享前端开发经验。

关注【前端雨爸】,欢迎评论留言,愿与各位交流进步。

点击 ↙ 了解更多,了解更多前端开发技术文章。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/451.html

标签: html 垂直居中
分享给朋友:
返回列表

上一篇:那些年我总结的css水平垂直居中(css设置水平垂直居中)

下一篇:Word办公技巧:如何使表格在页面水平、垂直方向均居中对齐?

“css 垂直居中的几种实现方式(css中垂直居中属性)” 的相关文章

Linux发行版Nobara更新39版本,号称“专为游戏玩家定制”

IT之家 12 月 27 日消息,Linux 发行版 Nobara 今天推出了 39 版本,主要改进了“Gamescope 合成器”,并更新了 OBS Studio、部分驱动程序及 Nautilus 文件管理器,小伙伴们可以点此访问项目地址。IT之家经过查询得知,Nobara 是一款基于 Fedor...

Ubuntu Linux 24.04 LTS发行版现已开放下载

IT之家 4 月 25 日消息,Ubuntu 24.04 长期支持版(LTS)“Noble Numbat” 现已发布,有需要的用户请通过官网下载发行版 ISO 镜像进行安装。Ubuntu 24.04 采用了 Linux 6.8 内核,可利用 Netplan 在桌面上配置网络连接,还配备了现代化的桌面...

vue3父子组件传对象,子组件访问修改父组件对象中的属性值

在Vue 3中,父子组件之间的数据传输通常通过props和emit进行。父组件可以通过props向下传递数据给子组件,子组件则可以通过emit向上通知父组件更新数据。如果需要在子组件中修改父组件对象中的属性值,可以使用一个名为ref的Vue 3新特性。以下是一个示例,演示了如何在Vue 3中实现父子...

学无止境:Git 如何优雅地回退代码

来源:https://zhenbianshu.github.io前言从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码、提交、合并等,更复杂的操作没有使用过,看过的教程也逐渐淡忘了,有些对不起 L...

Java教程:gitlab-使用入门

1 导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作GitLab简介GitLab环境搭建GitLab基本使用(组、权限、用户、项目)2 GitLab简介GitLab是整个DevOps生命周期...

身体越柔软越好?刻苦拉伸可能反而不健康 | 果断练

坐下伸直膝盖,双手用力向前伸,再用力……比昨天前进了一厘米,又进步了! 这么努力地拉伸,每个人都有自己的目标,也许是身体健康、线条柔美、放松肌肉、体测满分,也可能为了随时劈个叉,享受一片惊呼。 不过,身体柔软,可以享受到灵活的福利,也可能付出不稳定的代价,并不是越刻苦拉伸越好。太硬或者太软,都不安全...