为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第2天 CSS垂直居中布局

标签:
Html/CSS

一、课程信息

课程名称:一课全面掌握主流CSS布局

课程章节:第3章 垂直居中布局

主讲老师:KingJ


二、课程内容

  • 垂直居中布局的概念
  • 垂直居中布局的两种方式及优缺点

三、课程收获

通过学习掌握了CSS垂直居中布局的两种方式,通过代码演示和对比两种方式的优缺点,更加深刻认识到了CSS垂直居中布局的使用情景。

1.什么是垂直居中布局

1-1概念

垂直居中布局就是指当前元素在父级元素容器中,垂直方向是居中显示的

1-2垂直居中布局实现方式

  • table-cell + vertical-align属性配合使用
  • absolute + transform属性配合使用

2.垂直居中布局的第一种解决方案

<!-- 定义父级元素 -->
<div class="parent">
    <!-- 定义子级元素 -->
	<div class="child">
        慕课网
    </div>
</div>

CSS代码实现垂直方向居中布局:

.parent{
  width: 200px;
  height:600px;
  background: #ccc;
  /*
    display属性:
    * table: 设置当前元素为<table>元素
    * table-cell: 设置当前元素为<td>元素(单元格)
   */
  display: table-cell;
  /*
    vertical-align属性:为文本内容设置垂直方向对齐方式
    * top: 顶部对齐
    * middle: 居中对齐
    * bottom: 底部对齐
  */
  vertical-align: middle;
}
.child{
  width: 200px;
  height:200px;
  background: #c9394a;
}

优点

浏览器兼容性比较好

缺点

vertical-align属性具有继承性,导致子级元素的文本也是居中显示的

3.垂直居中布局的第二种解决方案

<!-- 定义父级元素 -->
<div class="parent">
    <!-- 定义子级元素 -->
	<div class="child">
        慕课网
    </div>
</div>

CSS代码实现垂直方向居中布局:

.parent{
  width: 200px;
  height: 600px;
  background: #ccc;
  /* 开启定位 */  
  position: relative;
}
.child{
  width: 200px;
  height:200px;
  background: #c9394a;
  /**
    当把当前元素设置为绝对定位后:
    * 如果父级元素没有开启定位,当前元素相对页面定位
    * 如果父级元素开启定位,当前元素相对父级元素定位
   */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

优点

父级元素是否脱离文档流,不影响子级元素垂直居中效果

缺点

transform属性是CSS3中新增属性,浏览器支持情况不好


四、学习截图

图片描述

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消