css有哪些方式可以实现垂直居中?

css有哪些方式可以实现垂直居中?

1背景介绍

我们在设计网页的时候,盒子居中是经会常用到的。居中可以分为水平居中和垂直居中。水平居中是比较容易,通过设置元素的margin: 0 auto就可以实现,但是垂直居中相对来说是比较复杂一些的。

2知识剖析

垂直居中就是竖向居中 ,所以来掌握css实现垂直居中的方式。

3常见问题

css有哪些方式可以实现垂直居中

4解决方案

首先我们先定义一个需要垂直居中的div元素,如下:
这里写图片描述
这里写图片描述
效果如下:
这里写图片描述
我们需要row在container之中垂直居中,如图:
这里写图片描述

一 transform实现CSS垂直居中
这里写图片描述
二 margin:auto实现CSS垂直居中
这里写图片描述
三 display:flex实现CSS垂直居中
这里写图片描述
四 padding实现CSS垂直居中
这里写图片描述
五 伪元素:before实现CSS垂直居中
这里写图片描述
六 通过隐藏节点实现CSS垂直居中
创建一个隐藏节点#hide,使得隐藏节点的height值为剩余高度的一半即可。
这里写图片描述
这里写图片描述
七 line-height实现CSS垂直居中
适用于子元素为单行文本的情况。
这里写图片描述
这里写图片描述
这里写图片描述

5编码实战

6拓展思考

CSS如何水平居中
方法如下:
1.子元素margin: auto;

2.对于行内元素 text-align: center;

3.绝对定位+left+ margin-left

4.绝对定位+left+ translatex

5.子元素display: table;

6.父元素 display: flex;+子元素margin:auto;

7.父元素display: flex;

7参考文献

参考一:

CSS水平居中,垂直居中

8更多讨论

1 如何实现图片内容居中?
可以用父容器的line-height来实现

<div class="container">
   <div class="row">
        <img src="" alt="">
   </div>
</div>
.container{
   margin:20px;
   line-height:500px;
   text-align:center;
}

.row{
   display:inline-block;
   vertical-align:middle;
   line-height:normal;
}

.row img{
   max-width:100px;
}

2 多行文本如何垂直居中?

<div class="container">
			<p class="two1">多行文本;</p>
			<p class="two2">我要进行垂直居中</p>
		</div>

.container{
		    	height: 200px;
		    	background-color: gray;
		    	display: table;
		    	text-align: center;
		    }
		    
		    .two1{display: table-cell;vertical-align: middle;}
		    .two2{display: table-cell;vertical-align: middle;}

3 如何让一个DIV水平,垂直方向都居中于浏览器?

<style type="text/css">
<!-- 
div {
position:absolute;
top:50%;
left:50%;
margin:-150px 0 0 -200px;
width:400px;
height:300px;
border:1px solid #008800;
}
-->
</style>
<div>垂直居中于浏览器窗口</div> 

感谢大家观看

By 要来点本子吗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值