对于单行文本,可以使用行高等于高度来设置垂直居中,但多行文本不适用。
实现多行文本垂直居中的四种方法
1. 利用表格元素table+vertical-align实现
将父元素设置为块级表格来显示,再将子元素设置为一个表格单元格显示后,设置vertical-align: middle;即实现效果。
<body><divclass="text"><span>扩展: Vue.js 是一套构建用户界面的渐进式框架。 它与其他重量级框架不同的是,Vue 采用的时自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅容易上手,而且还便于与第三方库或既有项目整合。</span></div><scriptsrc="textCenter.js"></script></body>
.text{display: table;width: 500px;height: 500px;background-color: yellow;}span{display: table-cell;vertical-align: middle;}
注意:对table-cell元素设置百分比的宽高值时是无效的。
2. 父line-height+子行内块+子line-height自定义设置
先对父元素设置高度和行高(相等),将子元素设置为行内块元素,模拟成单行文本,再对子元素设置vertical-align: middle;使其基线对齐,这时还未实现垂直居中,为子元素自定义line-height属性的值,覆盖继承自父元素的行高,即可实现垂直居中。
.text{width: 500px;height: 500px;line-height: 500px;background-color: yellow;}span{display: inline-block;vertical-align: middle;line-height: 18px;}
3. 子元素设为行内块元素+利用相对定位进行平移(translateY)
先将子元素设置为行内块元素,再对子元素设置相对定位,之后利用top和transform设置平移。
.text{width: 500px;height: 500px;background-color: yellow;}span{display: inline-block;position: relative;top: 50%;transform:translateY(-50%);}
4. 利用弹性布局flex+align-items
利用flex弹性布局,将父元素设置为弹性盒子,并设置父元素align-items: center,即定义flex子项在flex容器侧轴方向上的对齐方式为center。
.text{display: flex;width: 500px;height: 500px;background-color: yellow;align-items: center;}
效果:
热门文章
- 《Java—Socket二进制通讯读取一行》
- 3月6日22.5M/S|Clash/Shadowrocket/V2ray/SSR免费节点每天更新订阅链接,翻墙机场推荐分享
- 动物园兽医师的职责是什么(动物园兽医岗位职责)
- 附近免费领养狗狗的地方(附近免费领养狗狗的地方有哪些)
- Spirngboot实现Nacos作为配置中心_在线工具
- 3月17日22.2M/S|V2ray/Shadowrocket/SSR/Clash免费节点每天更新订阅链接,翻墙机场推荐分享
- SpringBoot之HandlerInterceptor拦截器的使用
- 小型宠物粮食加工设备价格(宠物粮食加工厂设备)
- 3月28日21M/S|V2ray/SSR/Clash/Shadowrocket免费节点每天更新订阅链接,翻墙机场推荐分享
- MySQL的安装和配置(超详细图文教程)