`

CSS之垂直居中

    博客分类:
  • css
阅读更多
css里面用text-align:center加上margin:0 auto就可以实现水平居中了。
但是垂直居中却没有相应的css属性来设置。

方法一:通过 display:table 实现CSS垂直居中
而如果要设置元素能够垂直居中必须得将容器设置为display:table,
然后将子元素也就是要垂直居中显示的元素设置为display:table-cell,然后加上vertical-align:middle来实现。

方法二:通过 position + transform 实现CSS垂直居中
下面的代码利用css3的transform来实现垂直居中和水平居中:

注意:

1、父元素的 height 属性必须指定像素值
垂直居中元素的父元素的高度必须是一个固定值,例如:height: 60px; 。不能是auto,或是没有指定,或者是position为absolute时,高度设置为100%,这样高度仍然是0。此时,top 的 50%,仍然是0,就不起作用。

2、父元素除了 position 为 relative 外,无需其它修饰。
例如:不要加:text-align: center; 之类的修饰。


垂直居中
.center-y {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}


水平居中
.center-x {
    position: relative;
    left: 50%;
    transform: translateX(-50%); 
}


水平且垂直居中
.center{
    position: relative;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); 
}



解释:
top:50%,当position设置为 relative 或 absolute 时,指元素的顶部到父元素的顶部的距离是父元素高度的一半。(所以父元素的高度不能为0,或可能引起父元素高度为0的任何CSS属性)此时并未垂直居中,因为元素本身也是有高度的。
transform: translateY(-50%),是指在垂直方向,向上移动元素自身高度的一半。

这两个属性结合使用,就可以达到使元素在父元素中垂直居中。


方法三:通过 display:flex 实现CSS垂直居中

随着越来越多浏览器兼容CSS中的flexbox特性,所以现在通过“display:flex”实现CSS水平居中的方案也越来越受青睐。
通过display:flex实现CSS垂直居中的方法是给父元素display:flex;而子元素align-self:center;
这个跟CSS水平居中的原理是一样的,只是在flex-direction上有所差别,一个是row(默认值),另外一个是column。

.parent {
    display:flex;
}
.child {
    align-self: center;
}




引用请注明,
原文出处:https://www.iteye.com/blog/lixh1986-2513366



























ref:
https://developer.mozilla.org/en-US/docs/Web/CSS/transform
https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate

https://blog.csdn.net/qq_33769914/article/details/97786549
https://www.cnblogs.com/clj2017/p/9293363.html

-
分享到:
评论

相关推荐

    DIV+CSS 图片垂直居中效果

    在网页设计中,"DIV+CSS 图片垂直居中效果"是一个常见的布局需求,它涉及到CSS的盒模型、定位和Flexbox或Grid等现代布局技术。以下是对这一主题的详细阐述: 1. **基础概念** - **DIV**:HTML中的`<div>`元素是一...

    css图片垂直居中方法

    以下将详细阐述几种常用的CSS图片垂直居中的技术。 1. **Flexbox布局** Flexbox是现代CSS布局模式,特别适用于一维布局,如行或列。要让图片垂直居中,可以设置容器为flex容器,并使用`align-items: center;`属性...

    DIV+CSS水平垂直居中

    DIV+CSS 水平垂直居中网页学习 DIV+CSS 水平垂直居中是Web开发中一个常见的问题,如何将DIV元素水平垂直居中是一个非常重要的知识点。本文将详细介绍DIV+CSS水平垂直居中的方法和实现原理。 一、使用position:...

    css图片垂直居中

    本篇文章将深入探讨如何利用CSS实现图片的垂直居中效果。 首先,我们来看几种常见且实用的CSS方法: 1. **Flexbox布局**: Flexbox是CSS3引入的一种新的布局模式,特别适合处理容器内元素的对齐问题。要使图片在...

    CSS解决未知高度的DIV垂直居中

    #### CSS垂直居中原理 在CSS中,`vertical-align`属性主要用于设置行内元素或表格单元格中的内容垂直对齐方式。但是,当涉及到块级元素时,这个属性并不起作用。因此,我们需要采用其他技术来达到垂直居中的目的。...

    CSS实现完美垂直居中 - 蓝色理想

    在网页设计中,CSS(Cascading Style Sheets)布局是一个重要的方面,而垂直居中问题则是许多开发者在创建响应式和动态网页时常常遇到的挑战。"CSS实现完美垂直居中"这一主题深入探讨了如何利用CSS技术使元素在容器...

    css实现垂直居中

    在网页设计中,让元素在页面上垂直居中是一项常见的需求。CSS(Cascading Style Sheets)提供了多种方法来实现这一目标。以下是一些主要的CSS技术,...在实践中不断尝试和学习,可以让你更好地掌握CSS垂直居中的技巧。

    div+css垂直居中和水平居中

    在网页设计中,实现元素的垂直居中和水平居中是一项常见的需求,这涉及到CSS布局技术。本篇文章将深入探讨如何使用div+css方法来实现这一目标。在现代Web开发中,div元素作为布局容器广泛使用,而CSS则是样式控制的...

    css水平垂直居中

    ### CSS 水平垂直居中的实现方法 在前端开发中,经常需要将元素在页面中进行水平垂直居中处理,特别是在响应式布局或者需要精确控制元素位置的情况下尤为重要。本篇文章将详细介绍如何通过 CSS 实现内容的水平垂直...

    css多行文本垂直居中

    css 多行文本垂直居中显示,兼容各大浏览器!

    CSS 实现盒子水平居中、垂直居中和水平垂直居中….docx

    CSS 盒子水平居中、垂直居中和水平垂直居中的实现方法 在 CSS 中,实现盒子水平居中、垂直居中和水平垂直居中是非常常见的需求。本文将介绍五种不同的方法来实现这些效果,并对每种方法的优缺点进行分析。 一、...

    CSS 图片水平垂直居中于DIV

    在网页设计中,将图片水平垂直居中于一个DIV元素是常见的需求,这涉及到CSS布局技术的运用。本文将深入探讨如何实现这个效果,并提供相关的源码示例。 首先,我们要明白CSS中的定位机制,包括静态定位、相对定位、...

    CSS实现垂直居中的5种方法.rar

    本教程将详细讲解5种有效的CSS方法,帮助你掌握垂直居中的技巧。 1. **Flexbox布局** Flexbox是现代CSS布局模型,特别适合处理容器内子元素的对齐问题。要实现垂直居中,首先设置容器的`display`属性为`flex`,...

    div框水平垂直居中跟内容垂直居中.html

    div框水平垂直居中跟内容垂直居中

    css图片垂直居中代码(css仅有二行)

    css图片垂直居中代码,超级简单,css只有二行,其中css最核心的地方用到 position,transform,解决以往代码多,或用table来居中的麻烦。

    css实现垂直居中的方法

    ### CSS 实现垂直居中的五种方法 在前端开发中,如何使元素在页面中垂直居中是一项常见的需求。本文将详细介绍五种不同的方法来实现这一目标,并对每种方法的特点进行分析,以便开发者根据实际情况选择最合适的方案...

    图片 CSS垂直居中

    图片 CSS垂直居中图片 CSS垂直居中

    div+css图片垂直居中

    "div+css图片垂直居中"是这个话题的核心,它涉及到CSS布局和浏览器兼容性问题,特别是对于Internet Explorer(IE)和其他现代浏览器的处理差异。下面将详细阐述如何实现这一目标。 1. **基本原理**: CSS中的定位...

    css图片垂直居中 css中如何实现图片垂直居中

    在曾经的 淘宝UED 招聘 中有这样一道题目: “使用纯CSS实现+未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 当然出题并不是随意,而是有其现实的原因,垂直居中是淘宝工作中最常遇到的...

    使用css实现div垂直居中的示例

    本示例将详细解释如何使用CSS来实现`div`元素的垂直居中。 首先,我们要理解CSS布局的基本概念。在网页中,元素的位置可以通过设置`position`属性来控制,其主要值有`static`(默认值)、`relative`、`absolute`和`...

Global site tag (gtag.js) - Google Analytics