CSS水平垂直居中解决方案(6种)

yizhihongxing

CSS水平垂直居中在Web开发中是一个比较常见的问题,这里介绍6种解决方案。下面逐个讲解:

方案一:Flex布局

使用Flex布局可以很方便地实现水平和垂直居中。步骤如下:

  1. 父容器设置 display: flex;
  2. 父容器设置 justify-content: center; 和 align-items: center;

示例如下:

<div class="container">
  <div class="box"></div>
</div>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
}

.box {
  width: 100px;
  height: 100px;
  background-color: red;
}

方案二:绝对定位

使用绝对定位可以实现水平和垂直居中。步骤如下:

  1. 父容器相对定位,设置 position: relative;
  2. 子容器绝对定位,设置 position: absolute;
  3. 子容器设置 top: 50%; 和 left: 50%;
  4. 子容器设置 margin-top: -(子容器高度的一半); 和 margin-left: -(子容器宽度的一半);

示例如下:

<div class="container">
  <div class="box"></div>
</div>
.container {
  position: relative;
  height: 300px;
}

.box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  margin-top: -50px;
  margin-left: -50px;
  background-color: red;
}

方案三:使用table-cell

使用table-cell可以实现水平和垂直居中。步骤如下:

  1. 父容器设置 display: table-cell;
  2. 父容器设置 vertical-align: middle;
  3. 子容器不加特殊样式即可水平和垂直居中。

示例如下:

<div class="container">
  <div class="box"></div>
</div>
.container {
  display: table-cell;
  vertical-align: middle;
  height: 300px;
  text-align: center;
}

.box {
  display: inline-block;
  width: 100px;
  height: 100px;
  background-color: red;
}

方案四:使用transform

使用transform可以实现水平和垂直居中。步骤如下:

  1. 父容器相对定位,设置 position: relative;
  2. 子容器绝对定位,设置 position: absolute;
  3. 子容器设置 top: 50%; 和 left: 50%;
  4. 子容器设置 transform: translate(-50%, -50%);

示例如下:

<div class="container">
  <div class="box"></div>
</div>
.container {
  position: relative;
  height: 300px;
}

.box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  background-color: red;
  transform: translate(-50%, -50%);
}

方案五:使用grid布局

使用grid布局可以实现水平和垂直居中。步骤如下:

  1. 父容器设置 display: grid;
  2. 父容器设置 justify-content: center; 和 align-items: center;
  3. 子容器设置 justify-self: center; 和 align-self: center;

示例如下:

<div class="container">
  <div class="box"></div>
</div>
.container {
  display: grid;
  justify-content: center;
  align-items: center;
  height: 300px;
}

.box {
  width: 100px;
  height: 100px;
  background-color: red;
  justify-self: center;
  align-self: center;
}

方案六:使用line-height

使用line-height可以实现水平和垂直居中。步骤如下:

  1. 父容器设置指定高度;
  2. 子容器设置 line-height: 父容器高度;

示例如下:

<div class="container">
  <div class="box">Hello World</div>
</div>
.container {
  height: 300px;
  text-align: center;
}

.box {
  height: 300px;
  line-height: 300px;
  background-color: red;
  display: inline-block;
}

以上就是6种CSS水平垂直居中的解决方案,具体使用时可以根据实际情况选择合适的方案。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS水平垂直居中解决方案(6种) - Python技术站

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

相关文章

  • javascript获取隐藏元素(display:none)的高度和宽度的方法

    获取隐藏元素的高度和宽度是前端开发中一个很常见的需求。在使用display:none来隐藏元素时,它的高度和宽度是不可见的,这时候我们需要使用一些技巧来获取它们的真实高度和宽度。下面我将介绍两种常见的方法。 一、使用getBoundingClientRect()方法 getBoundingClientRect()是JavaScript中的一个方法,可以获取任…

    css 2023年6月10日
    00
  • jQuery实现每隔一段时间自动更换样式的方法分析

    下面我就来详细讲解一下“jQuery实现每隔一段时间自动更换样式的方法分析”的完整攻略。 一、需求分析 我们需要在页面中,每隔一段时间自动更换样式,这个需求需要使用JavaScript来完成。 二、实现思路 定义一个数组,存储要更换的样式; 设置一个计数器,记录当前显示的样式,并设置一个定时器来定时更换样式; 定义一个全局变量timer,用于存储定时器的引用…

    css 2023年6月10日
    00
  • js css 实现遮罩层覆盖其他页面元素附图

    关于JS和CSS实现遮罩层覆盖其他页面元素,以下是详细的攻略: 基础知识 在了解实现方法之前,我们需要了解遮罩层的概念,遮罩层通常被用于在页面上方创建一个可见但不可操作的蒙层,来防止用户对页面进行交互,一些常见的用法有模态框、提示框等。 实现遮罩层通常需要以下几个步骤: 添加一个蒙层元素; 设置蒙层元素的样式; 插入蒙层元素到页面中; 如果需要,使用JS对蒙…

    css 2023年6月9日
    00
  • css3类选择器之结合元素选择器和多类选择器用法

    当需要选择具有多个类名的元素时,可以使用结合元素选择器和多类选择器的方法来实现。 语法:element.class1.class2 {…} 表示同时包含class1和class2类名的element元素将会使用这个样式。下面是一些示例: 示例1: html代码: <div class="color red blue">He…

    css 2023年6月10日
    00
  • css scroll-snap控制滚动元素的实现

    对于CSS Scroll Snap的实现攻略,我们可以分为以下几个方面进行介绍: 使用scroll-snap-type属性定义滚动方式 首先,我们需要使用CSS的 scroll-snap-type 属性来定义滚动的方式,其支持两个值: x 和 y,分别定义了x和y轴的滚动方式。如果我们要同时应用x和y轴滚动,采用 scroll-snap-type: both…

    css 2023年6月10日
    00
  • 关于asp.net 自定义分页控件

    下面是关于ASP.NET自定义分页控件的完整攻略。 什么是自定义分页控件? 在ASP.NET应用程序中,通常会使用分页控件来分页显示数据,但是在某些情况下,ASP.NET的原生分页控件功能可能无法满足需求,此时我们可以通过自定义分页控件来实现更加精细的分页处理。 自定义分页控件的实现步骤 自定义分页控件的实现步骤大致如下: 分页控件必须继承自System.W…

    css 2023年6月10日
    00
  • 从零搭建Webpack5-react脚手架的实现步骤(附源码)

    下面我将详细讲解“从零搭建Webpack5-react脚手架的实现步骤(附源码)”的完整攻略。 实现步骤 1. 初始化项目 首先,我们需要创建一个空的 Node.js 项目。我们可以使用 npm 或者 yarn 来初始化项目,这里以使用 npm 为例: npm init -y 这会自动生成一个 package.json 文件,其中 -y 参数表示开启了自动配…

    css 2023年6月9日
    00
  • 微信小程序自定义头部导航栏(组件化)

    微信小程序自定义头部导航栏是一个比较常见的需求。通过自定义导航栏可以给小程序增加更多的个性化特色,使得小程序的用户体验更加优秀。接下来我将分享一些自定义头部导航栏的攻略。 1. 使用组件化方式实现 我们可以通过组件化方式来实现自定义头部导航栏。在小程序中创建一个头部导航栏组件,然后在各个页面中引用即可。这种方式代码复用性强,且方便维护。 1.1 创建头部导航…

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