绝对定位元素的水平垂直居中的方法(3种任选)

绝对定位元素的水平垂直居中是前端开发中经常遇到的问题,下面将详细讲解3种任选的方法。

方法一:使用绝对定位实现水平垂直居中

首先,在 CSS 中设置绝对定位,并将 left 和 top 设置为 50%。此时元素的左上角将位于页面的中心。

.position{
  position:absolute;
  left:50%;
  top:50%;
}

接下来,需要使用 JavaScript 将元素的宽度和高度分别除以 2,再利用 marginLeft 和 marginTop 将其移回以左上角为基准的位置。

let element = document.querySelector('.position');
element.style.marginLeft = - element.offsetWidth / 2 + 'px';
element.style.marginTop = - element.offsetHeight / 2 + 'px';

方法二:使用 flexbox 实现水平垂直居中

使用 flexbox 实现水平垂直居中可以更方便。

首先,在容器中设置 display: flex 声明容器使用 flex 布局。

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

接下来,将要进行居中的元素包裹在容器中即可。

<div class="container">
  <div class="box"></div>
</div>

方法三:使用 CSS3 transform 实现水平垂直居中

使用 CSS3 transform 可以让元素相对于自身的中心点旋转,从而实现居中。首先设置绝对定位,并将 top 和 left 设置为 50%,同时在元素中添加如下代码:

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

此时元素的左上角将位于页面的中心。

接下来,可以用 CSS3 transform 进行旋转,如下所示:

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

其中 rotate(45deg) 表示元素将相对于自身的中心点旋转 45 度。

示例:

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

.box{
  width:200px;
  height:200px;
  background-color:#ccc;
}
.position{
  position:absolute;
  left:50%;
  top:50%;
}
.position{
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%,-50%) rotate(45deg);
}

以上就是三种实现绝对定位元素水平垂直居中的方法,任选其一即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:绝对定位元素的水平垂直居中的方法(3种任选) - Python技术站

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

相关文章

  • vue项目设置活性字体过程(自适应字体大小)

    下面是详细的说明: 1. 设置默认字体大小 我们需要在 App.vue 组件中设置一个默认的字体大小,此处我们设置为 16px,代码如下: <template> <div :style="styles"> <router-view /> </div> </template> &l…

    css 2023年6月9日
    00
  • 引入CSS的方式有哪些?link和@import的有何区别应如何选择

    引入CSS的方式有三种: 在HTML中使用 标签嵌入CSS代码 使用标签引入外部CSS文件 使用@import关键字引入外部CSS文件 其中,前两种方法比较常用,下面详细讲解link和@import的区别以及如何选择。 标签 标签是最常用的引入CSS文件的方式,语法如下: <link rel="stylesheet" type=&q…

    css 2023年6月9日
    00
  • css3 伪类选择器快速复习小结

    下面是关于“CSS3 伪类选择器快速复习小结”的详细讲解: 一、什么是伪类选择器 伪类选择器指的是在选择元素时,使用冒号(:)前缀来识别元素的某些状态。例如: hover、active、focus等。 二、常见的伪类选择器 :hover — 当鼠标悬停在元素上时触发 :active — 当元素被激活或被选中时触发 :focus — 当元素被聚焦时触发 :vi…

    css 2023年6月9日
    00
  • input file自定义按钮美化(演示)

    自定义input type=”file”按钮的美化可以帮助提升用户在网站或应用中的体验,下面详细介绍一下具体实现过程。 步骤一:隐藏原生input请选择文件按钮 我们需要先将原生的input type=”file”按钮隐藏掉,但是保留它的点击事件,这样才能实现自定义按钮后可以正常选择本地文件。可以通过以下CSS代码来实现: input[type="…

    css 2023年6月10日
    00
  • CSS font-variation 可变字体的魅力(实例详解)

    CSS font-variation 可变字体的魅力(实例详解) 什么是可变字体? 可变字体是指字体文件中包含了多个轴线和不同的数值,可以通过CSS的font-variation-settings属性来控制字体的各个轴线和数值的变化,从而实现对字体效果的控制,这种技术被称为字体变量(Font Variations)。 可变字体的优势 相比于传统的固定字体,可…

    css 2023年6月9日
    00
  • css选择器(selector) xPath的选择器

    让我来介绍一下CSS选择器和XPath的选择器的使用攻略。 什么是CSS选择器和XPath的选择器 CSS选择器和XPath的选择器是一种用于在HTML文档中选择元素的工具。通过使用选择器,可以修改或操纵文档中的特定元素。CSS选择器和XPath的选择器是Web开发中最常用的工具之一,几乎在每个网站上都可以找到它们的使用。 CSS选择器的使用攻略 选择元素 …

    css 2023年6月9日
    00
  • CSS3下的渐变文字效果实现示例

    下面是“CSS3下的渐变文字效果实现示例”的完整攻略: 一、渐变文字效果实现的基本原理 CSS3提供了linear-gradient()和radial-gradient()两个函数,可以让我们轻松地实现渐变效果。这两个函数的基本语法如下: linear-gradient(direction, color-stop1, color-stop2, …); r…

    css 2023年6月11日
    00
  • 百度空间的popup效果分析第2/3页

    标题:百度空间的popup效果分析第2/3页 介绍:在百度空间中,当用户点击某个内容时,会弹出一个浮层,展示更多相关内容。这种浮层效果被称为popup效果。本文将详细分析百度空间的popup效果,并提供完整的攻略指南。 什么是popup效果? popup效果指的是浮层效果,常见于网页中。它的特点是悬浮在所点击的内容上方,通常用于实现以下功能: 弹出更多相关内…

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