首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将div中的绝对定位元素居中?

要将div中的绝对定位元素居中,可以使用以下方法:

  1. 使用flexbox布局:

将div设置为flex容器,然后使用justify-content和align-items属性将子元素居中。

代码语言:css
复制
.parent {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.child {
  position: absolute;
}
  1. 使用transform属性:

将子元素设置为相对定位,然后使用transform属性将其向上和向左移动50%,再使用margin属性将其向上和向左移动一半的宽度和高度。

代码语言:css
复制
.parent {
  position: relative;
  height: 100%;
}

.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
  1. 使用calc函数:

将子元素设置为相对定位,然后使用calc函数将其向上和向左移动一半的宽度和高度。

代码语言:css
复制
.parent {
  position: relative;
  height: 100%;
}

.child {
  position: absolute;
  top: calc(50% - 1/2 * [child's height]);
  left: calc(50% - 1/2 * [child's width]);
}

其中,child's height和child's width分别表示子元素的高度和宽度。

这些方法都可以实现将div中的绝对定位元素居中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS 定位布局 - 绝对、固定定位设置居中悬浮div

仅供学习,转载请注明出处 讨论问题 在上一篇 CSS 定位布局 - 相对、绝对、固定三种定位 ,发现当使用定位布局时候,存在一个无法使用margin居中方法。...可以从图中看出,绝对定位会影响margin居中布局。 设置一下固定定位,看看会不会影响margin居中效果 ?...在绝对定位情况下,设置div居中布局 居中布局当然就要先使用left偏移来进行设置,不过这次偏移需要用百分比,不然浏览器稍微缩放就无法居中了。 ? ?...使用margin-left 向左偏移div自身宽度一半,保证居中 使用绝对定位只是无法使用margin-left:auto而已,如果输入具体数值还是可以使用。 下面来看看,这样写: ? ?...好了,从上面来看,绝对定位已经可以设置div居中了,那么固定定位是否也是如此呢? 固定定位设置div居中 ? ?

3.4K20

【CSS】绝对定位元素设置 水平 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )

一、问题提出 ---- 绝对定位 不能通过 设置 margin: auto; 样式方式 , 设置盒子模型水平居中 ; 相对定位 盒子模型 , 并没有脱离标准流限制 , 仍然可以使通过设置 margin...: auto; 样式方式 令盒子水平居中 ; 举例说明 : 绝对定位 元素 需要居中对齐地方很多 , 如下图所示 , 右侧 固定定位 按钮 , 需要在浏览器居中对齐 , 轮播图中 五个小圆点...容器需要居中对齐 ; 二、绝对定位 居中设置 ---- 1、设置固定尺寸 使 绝对定位 元素 水平 / 垂直 居中 最简单方法就是 使用标尺测量父容器宽高 , 通过设置四个边边偏移量 , 设置元素...; left: 50%; 然后 , 设置 负数 左外边距 , 令 子元素 向左移动 自身 宽度一半 , 需要提前测量 子元素宽度 ; margin-left: -100px; 三、绝对定位元素...: -40px 向左移动 40 像素 ; /* 绝对定位元素 - 水平居中 */ .top { /* 子元素设置绝对定位元素需要设置相对定位 */ position: absolute

2.4K40
  • 【CSS】CSS 总结 ⑦ ( 定位 | 静态定位 | 相对定位 | 绝对定位 | 子绝父相 | 固定定位 | 使用绝对定位设置水平垂直居中 | 堆叠顺序 | 显示模式 | 元素隐藏 ) ★

    = 浏览器可视窗口 + 边偏移 | 代码示例 ) 【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 ) 【CSS... 父容器 搭配使用 ; 子元素 使用绝对定位 , 父元素要使用 相对定位 ; 子元素使用 绝对定位 , 在布局不会保留其位置 , 子元素完全依赖 父容器 位置 , 此时就要求父容器必须稳定 ,...auto; 样式方式 令盒子水平居中 ; 举例说明 : 绝对定位 元素 需要居中对齐地方很多 , 如下图所示 , 右侧 固定定位 按钮 , 需要在浏览器居中对齐 , 轮播图中 五个小圆点...容器需要居中对齐 ; 1、设置固定尺寸 使 绝对定位 元素 水平 / 垂直 居中 最简单方法就是 使用标尺测量父容器宽高 , 通过设置四个边边偏移量 , 设置元素 水平 / 垂直 居中 ; 2、... , 如果 多个盒子都设置 绝对定位 , 那么这些盒子会堆叠在一起 ; 设置了定位样式盒子会压住标准流盒子 , 如果有多个设置定位盒子 , 后面的盒子会压住前面的盒子 ; 下面的代码 , 三个盒子都设置了绝对定位

    19410

    html图片自适应div大小_未知宽高div元素垂直水平居中

    大家好,又见面了,我是你们朋友全栈君。...1.设置labelhtml图片 -(NSMutableAttributedString *)setAttributedString:(NSString *)str { //如果有换行,把\n替换成...计算出来 height 正好是排版后高度大小,是 CGFloat 类型,在是在我们设置UIlabel/Cell 高度时,可能存在四舍五入等,最后存在一点点误差使得 UILabel 显示不全,可能出现缺少一行...,上下空白太多等情况; 解决方案:为了确保布局按照我们计算数据来,可以使用ceil函数对计算 Size 取整,再加1,确保 UILabel按照计算高度完好显示出来; 或者使用方法CGRectIntegral...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.8K20

    微信小程序-元素定位相对绝对固定

    定位基本思想很简单,它允许你定义元素框相对于其正常位置应该出现位置,或者相对于父元素、另一个元素甚至浏览器窗口本身位置。显然,这个功能非常强大,也很让人吃惊。...要知道,用户代理对 CSS2 定位支持远胜于对其它方面的支持,对此不应感到奇怪。...语法 position: relative; //相对定位 position: absolute; //绝对定位 position: fixed; //固定定位 // 然后上下左右来定位其距离 left...: 1px; right : 1px; top : 1px; bottom : 1px; relative 相对相对,就是相对于自己本身在流位置偏移,元素框偏移某个距离。...absolute 绝对绝对,就是位置是觉得,其他元素变化了,他也不动, 但是有个前提就是相对于父元素 —— 前提是父元素位置是确定元素框从文档流删除,并相对于其包含块定位,包含快可能是文档另一个元素或者初始包含块

    3.3K31

    div等块级元素水平以及垂直居中解决办法

    一、背景   我们在设计页面的时候,经常要把div等块级元素居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。我们传统解决办法是用纯CSS来让div等块级元素居中。...实现一、原理:要让div等块级元素水平和垂直居中,必需知道该div等块级元素宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框距离设置为50%,这个50%就是指页面窗口宽度和高度50%...如果当页面div等块级元素宽度和高度是动态,比方说需要弹出一个div等块级元素元素层并且要居中显示,div等块级元素内容是动态,所以宽度和高度也是动态,这时需要用jQuery可以解决居中。    ...注意div等块级元素CSS设置要在resize()方法完成,就是每次改变窗口大 小时,都要执行设置div等块级元素CSS。  ...div等块级元素具体宽度和高度大小,直接用jQuery就可以实现水平和垂直居中,而且兼容各浏览器,这个方法在很多弹出层效果应用。

    1.8K20

    在未知大小元素设置居中

    当提到在web设计居中元素时。关于被居中元素和它父元素信息,你知道越多就越容易设置。那么假如当你不知道任何信息?居中也是可设置。...不太困难:知道子元素宽高 如果你知道父元素和要被居中元素宽和高(并且这些尺寸不会改变),万无一失一个居中做法是绝对定位。 假设你知道待居中元素宽高,但是父元素宽和高可变。...你可以 1)绝对定位居中元素 2)设置top:50%,left:50% 3)设置margin-top和margin-left为待居中元素高度和宽度一半,并取负。(如下图所示) ?...以下这些方法不太全面,现做补充。 1) 在待居中元素外 包裹table-cell,设置table-cell只是让table-cell元素在table-cell居中。...如果在div你需要定位其它内容或这些内容行为不同于table-cell,那么只有god能帮你了。 当然还有一个非常聪明并且可以实现相同目标的技巧。

    4K20

    关于IE6下绝对定位元素莫名消失问题

    这是个很老bug了,我想一般大家都遇到过,以前我是纯凭经验,让绝对定位元素不挨着浮动元素就OK了,不过一直没去研究它形成原因。...在蓝色理想发现了这样几条解释: 1.当绝对定位邻近浮动层宽度不等于父层宽度时,以及没有清除浮动时,IE6/7,FF显示一致; 2.当绝对定位邻近浮动层宽度不等于父层宽度时,有清除浮动时,...IE6/7不显示绝对定位层,FF显示; 3.当绝对定位邻近浮动层宽度等于父层宽度时,以及没有清除浮动时,IE6不显示绝对定位层,IE7/FF显示; 4.当绝对定位邻近浮动层宽度等于父层宽度时...,有清除浮动时,IE6/7不显示绝对定位层,FF显示; 就目前来说我个人解决办法有两条,第一取消浮动,第二让绝对定位元素不要挨着浮动标签。...蓝色上那位哥们提出了另一个办法,就是在绝对定位层跟浮动层中间插个空标签。

    640100

    CSS关于元素居中方法总结(超全)

    CSS关于元素居中方法 css中一个很重要问题,就是关于元素居中,包括水平居中,垂直居中,本文就是为大家总结了:css对于行内元素与块级元素不同居中方法....margin:auto; background: aqua; } 此方法缺点:内层元素必须设定(固定)宽度 方法2:不定宽元素 - 绝对定位 思路: 1.外层绝对定位,内层相对定位,外层外层相对定位...垂直居中 方法1: 设置父元素相对定位,子元素position: absolute;top: 50%;同时margin-top值为-(子元素高度一半),因为设置top值时是相对于盒子顶部,所以想要居中还要往上移动半个盒子高度才能实现...class="out"> 方法2: 和上一种方法原理差不多,都是利用相对定位绝对定位,有点不同是子元素内加上了transform:...,子元素绝对定位,同时设置子元素top,bottom,left,right值为0,最后设置margin:auto;这能实现块元素垂直+水平居中,看代码: <!

    2.2K20

    解决CSS垂直居中几种方法(基于绝对定位,基于视口单位,Flexbox方法)

    在CSS元素进行水平居中是非常简单:如果它是一个行内元素,就对它元素应用 text-align: center ;如果它是一个块级元素,就对它自身应用 margin: auto。...一、代码初始化     我们基于如下这段HTML代码,将id='content'div元素在id='box'div张垂直居中。...二、基于绝对定位解决方法       如果我们想要利用绝对定位方法进行垂直剧中的话,那么就要求元素具有固定宽度和高度,如果没有固定宽度和高度就无法实现,因为需要利用top和left值,进行定位...五、绝对定位结合translate()方法 (不确定宽高情况下)  使用绝对定位将top和left设置为50%,再将元素本身使用translate分别沿着x和y轴移动-50%,此方法可以在不知道div...我们只需写两行声明即可:先给这个待居中元素元素设置 display: flex(在这个例子元素),再给这个元素自身设置我们再熟悉不过margin: auto。

    1.8K70

    【原创】CSS盒子模型以及设置元素居中

    盒子模型: css每个元素都是一个盒子,它由最内侧“内容区(content)”内侧“内边距(padding)”外侧“边框(border)”,以及最外侧“外边距(margin)”组成 内容区(content...注意:块级元素右外边距和设置无关 元素高度: 内容区高度 + 左右内边距高度 + 左右边框高度 + 左右外边距高度。...块级元素左右居中(居中整个块级元素,非块级元素文字): 选中需要左右居中元素,然后设置左右外边距值为“auto”即margin:0,auto; 注意:需要设置左右居中块级元素,必须设置宽度属性,且不能脱离文档流...元素上下左右居中(使用相对定位是实现。)...a)设置父级元素相对定位属性,即position:relative; d)设置当前元素绝对定位属性,即position:absolute; c)设置当前元素距离父级顶部50%,左侧50%,即top:50%

    96820

    常见几种 CSS 水平垂直居中解决办法

    水平垂直居中主要包括三类:基本文本类,图像类,其他元素类 但,也是由一些方法可以实现,下面就来谈谈了解到10方法。...在Internet Explorer 6对父元素进行定位后,如果再对子元素 进行百分比计算时,计算基础似乎是有继承性(如果定位数值是绝对数值没有这个问题,但是使用百分比计算基础将不再是该元素... 五、负边距margin使用 这个方法主要用于块居中,首先绝对定位到50% ,然后通过负边距拉回来(元素一半,宽一半) <style type="text/css...,内容流<em>中</em><em>的</em>其余部分渲染时<em>绝对</em><em>定位</em>部分不进行渲染。...简而言之(TL;DR):<em>绝对</em><em>定位</em><em>元素</em>不在普通内容流<em>中</em>渲染,因此margin:auto可以使内容在通过top: 0; left: 0; bottom: 0;right: 0;设置<em>的</em>边界内垂直<em>居中</em> 这样一来

    1.2K10

    CSS实用技巧(

    class="container"> 绝对定位还能玩出什么花样 简介 绝对定位使用场景非常多...绝对定位元素脱离文档流,相对于最近非 static 祖先元素定位,可以利用left/right/top/bottom定位元素位置。...这是因为在高度计算过程元素内部尺寸优先级大于外部尺寸,width/height影响元素内部尺寸,绝对定位影响是外部尺寸,当元素绝对定位四个方向都设置值,此时外部尺寸会被内部尺寸覆盖,导致实际元素宽度是...但是有个神奇现象,绝对定位配合margin: auto;,可以实现元素垂直水平居中,如下所示: .box{ position: relative; width: 200px...无依赖绝对定位绝对定位没有设置四周定位尺寸时,会发生神奇一幕,当前元素没有相对于最近非 static 祖先元素定位,而是在当前位置不变,并且当前元素脱离文档流,不占据页面空间。

    1.5K40
    领券