纯CSS实现垂直居中的9种方法

yizhihongxing

以下是“纯CSS实现垂直居中的9种方法”的完整攻略。

什么是垂直居中

当父元素的高度确定,子元素需要在父元素内垂直居中(即竖直方向上居中)时,我们称之为垂直居中。

9种纯CSS实现垂直居中方法

  1. 使用text-alignline-height方法

父元素设置text-align: center;line-height: 父元素高度;,子元素设置display: inline-block; vertical-align: middle;即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
text-align: center;
line-height: 200px;
}
.child {
display: inline-block;
vertical-align: middle;
}

  1. 使用flex布局方法

父元素设置display: flex; justify-content: center; align-items: center;,子元素不用设置,即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
display: flex;
justify-content: center;
align-items: center;
}

  1. 使用绝对定位和负边距方法

父元素设置position: relative;,子元素设置position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);,即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
position: relative;
}
.child {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

  1. 使用绝对定位和margin负值方法

父元素设置position: relative;,子元素设置position: absolute; top: 50%; margin-top: -子元素高度的一半;,即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
position: relative;
}
.child {
position: absolute;
top: 50%;
margin-top: -10px;
}

  1. 使用绝对定位和margin:auto方法

父元素设置position: relative;,子元素设置position: absolute; top: 0; bottom: 0; margin:auto;,即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
position: relative;
}
.child {
position: absolute;
top: 0;
bottom: 0;
margin: auto;
}

  1. 使用table-cell方法

父元素设置display: table-cell; vertical-align: middle;,子元素不用设置,即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
display: table-cell;
vertical-align: middle;
}

  1. 使用grid布局方法

父元素设置display: grid; place-items: center;,子元素不用设置,即可实现。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
display: grid;
place-items: center;
}

  1. 使用伪元素方法

父元素设置position: relative;,子元素设置position: absolute; top: 50%; transform: translateY(-50%);,并添加一个::before伪元素,使其占据padding-top的空间即可。

示例代码:

```html

居中文本

```

css
.parent {
height: 200px;
position: relative;
padding-top: 50%;
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.child::before {
content: "";
display: block;
height: 0;
}

  1. 使用变量方法

使用CSS变量定义父元素及子元素高度的一半,并分别使用calc函数计算即可。

示例代码:

```html

居中文本

```

css
.parent {
--height: 200px;
height: var(--height);
display: flex;
justify-content: center;
align-items: center;
}
.child {
--height: 20px;
height: calc(var(--height) * 2);
}

以上就是“纯CSS实现垂直居中的9种方法”的完整攻略,可以根据需要选择实现方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯CSS实现垂直居中的9种方法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 详解使用mocha对webpack打包的项目进行”冒烟测试”的大致流程

    Mocha是一个用于Node.js和浏览器的JavaScript测试框架。它提供了简单明了的描述测试的语法,并且支持异步测试和回调测试。在实际的项目中,我们常常需要对Webpack打包的项目进行“冒烟测试”,以确保所有模块能够正确加载、所有依赖关系链接正确等。下面是详解使用Mocha对Webpack打包的项目进行”冒烟测试”的大致流程: 步骤一:安装Moch…

    css 2023年6月10日
    00
  • Web2.0下XHTML+CSS 设计需要注意的地方小结

    Web2.0时代,XHTML+CSS成为了前端开发的主流技术,那么在使用XHTML+CSS进行Web2.0的设计时,我们需要注意哪些方面呢?下面是一份小结: XHTML+CSS 设计需要注意的地方小结 1. 结构与表现的分离 在XHTML+CSS设计时,结构和样式应该分离开来,避免将样式写在HTML的标签中,这样不仅减少了HTML文件的可读性,也不利于后期维…

    css 2023年6月9日
    00
  • JQuery Dialog(JS 模态窗口,可拖拽的DIV)

    JQuery Dialog(JS 模态窗口,可拖拽的DIV)攻略 什么是JQuery Dialog? JQuery Dialog是基于JQuery库封装的一个JS模态窗口组件,可轻松实现模态窗口的弹出、拖拽、关闭等功能。 如何使用JQuery Dialog? 引入JQuery和JQuery Dialog库 在页面中引入JQuery和JQuery Dialog…

    css 2023年6月11日
    00
  • OpenLayers3实现图层控件功能

    OpenLayers3实现图层控件功能攻略 1. 前言 在WebGIS制作过程中,图层控件是必不可少的,而OpenLayers3也提供了多种方式来实现图层控制。本攻略将介绍两种常用的图层控制方式,分别为基于控件的方法和基于样式函数的方法。 2. 基于控件的方法 2.1 使用LayerSwitcher控件 LayerSwitcher控件是OpenLayers3…

    css 2023年6月10日
    00
  • 基于Ajax+div的“左边菜单、右边内容”页面效果实现

    基于Ajax+div的“左边菜单、右边内容”页面效果实现是一种常见的动态网页设计思路,它的核心是通过异步请求加载内容,避免页面跳转以及资源重复加载,从而提高用户体验。 具体实现流程如下: 准备HTML和CSS结构。通常采用两栏布局,左侧为菜单栏,右侧为内容栏。可以使用CSS实现两栏等高布局,以保持美观。同时为了能够定位内容,需要通过div标签以及唯一的id属…

    css 2023年6月10日
    00
  • css3中仿放大镜效果的几种方式原理解析

    针对“css3中仿放大镜效果的几种方式原理解析”这个话题,我可以分享一些完整的攻略,帮助你更好地了解。 实现原理 CSS3中实现放大镜效果一般有两种常用方式: 使用transform属性进行缩放:利用transform属性中的scale()函数,将需要放大的区域缩小至原始尺寸的比例,再为放大镜创建一个相同的区域进行放大。放大效果的实现依靠了scale()函数…

    css 2023年6月10日
    00
  • Bootstrap CSS组件之导航条(navbar)

    Bootstrap CSS组件之导航条(navbar)是Bootstrap中常用的组件之一,它能够帮助我们在网页顶部或底部添加导航菜单,使得网站导航更加方便和美观。下面我将详细讲解如何在网页中使用Bootstrap CSS导航条组件。 1. 引入Bootstrap CSS 首先,我们需要在HTML文档中引入Bootstrap CSS样式文件,可以通过CDN引…

    css 2023年6月10日
    00
  • Reactjs 错误边界优雅处理方法demo

    Reactjs 错误边界是ReactJS 16一个新的特性。它可以让我们在组件内部,通过生命周期函数来捕获JavaScript错误。错误边界能够捕获组件树内一个未被捕获的JavaScript异常,并且在渲染发生错误时,提供优雅的兜底方案,而不是整个组件树崩溃。 创建错误边界 创建错误边界非常简单,只需创建一个类实现 componentDidCatch 方法即…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部