最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用CSS实现垂直居中的7种方法分享

来源:动视网 责编:小采 时间:2020-11-27 18:52:16
文档

使用CSS实现垂直居中的7种方法分享

使用CSS实现垂直居中的7种方法分享:今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法。为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中是非常简单的,行内元素设置其父元素的text-a
推荐度:
导读使用CSS实现垂直居中的7种方法分享:今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法。为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中是非常简单的,行内元素设置其父元素的text-a


  今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法。为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益!

  在CSS中实现水平居中是非常简单的,行内元素设置其父元素的text-align:center,块级元素就对其自身应用magrin:auto。然而,实现垂直居中就有点麻烦了,首先它是极其常见的需求,看似简单,在实践中,往往难如登天,当设计尺寸不固定时尤其如此。以下是我找到的一些方法:

方法一:行高line-height

(1)单行文本居中

HTML代码

<p class="box1">
<p class="box2">垂直居中</p>
</p>

CSS代码

 .box1{
 height: 200px;
 }
 .box2{
 line-height: 200px;
 }

(2)图片垂直居中

HTML代码

 <p class="box1">
 <img src="images/bg-sun.png" alt="">
 </p>

CSS代码

 .box1{
 line-height:200px;
 }
 .box1 img{
 vertical-align: middle;
 }

方法二:table-cell

CSS代码

 .box1{
 display: table-cell;
 vertical-align: middle;
 text-align: center;
 }

方法三:display:flex

(1)CSS代码

 .box1{
 display: flex;
 }
 .box2{
 margin:auto;
 }

(2)CSS代码

 .box1{
 display: flex;
 justify-content:center;
 align-items:center;
 }

方法四:绝对定位和负边距

(1)CSS代码

 .box1{ 
 position: relative; 
 } 
 .box2{ 
 position: absolute; 
 top: 50%; 
 left: 50%; 
 margin-top: -10px;/*减去子元素高度一半*/ 
 margin-left:-32px;/*减去子元素宽度一半*/
 }

(2)CSS代码

 .box2{
 position: absolute;
 top:calc(50% - 10px);/*减去子元素高度一半*/
 left:calc(50% - 32px);/*减去子元素宽度一半*/
 }

方法五:绝对定位和0

CSS代码

 .box2{
 width: 50%;
 height: 50%;
 background: #555;
 overflow: auto;
 margin: auto;
 position: absolute;
 top: 0; left: 0; bottom: 0; right: 0;
 }

方法六:translate

(1)CSS代码

 .box2{
 position: absolute;
 top:50%;
 left:50%;
 transform:translate(-50%,-50%);
 }

(2)HTML代码

 <body>
 <p class="box1">
 </p>
 </body>

CSS代码

 .box1{
 width: 200px;
 height: 200px;
 background: #666;
 margin: 50vh auto 0;
 transform: translateY(-50%);
 }

方法七:display:-webkit-box

CSS代码

 .box2{
 display: -webkit-box;
 -webkit-box-pack:center;
 -webkit-box-align:center;
 -webkit-box-orient: vertical;
 text-align: center7 }

文档

使用CSS实现垂直居中的7种方法分享

使用CSS实现垂直居中的7种方法分享:今天申请博客通过了,给大家讲讲我所看到过的纯css实现垂直居中的各种方法。为什么要把它作为第一篇文章呢?因为这是我刚开始接触前端学到的对我最有用的知识,希望大家也可以从中获益! 在CSS中实现水平居中是非常简单的,行内元素设置其父元素的text-a
推荐度:
标签: 设置 方法 的方法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top