需求:有时页面内的一些容器需要定位在特定的某个位置,但是需要容器在水平方向上面居中显示,比如页面内的一个背景图里面放置一个容器,使用margin-top不方便,就决定使用绝对定位来设置。

实现方法:
方法一、知道容器尺寸的前提下

.element {width: 600px; height: 400px;position: absolute; left: 50%; top: 50%;margin-top: -200px;    /* 高度的一半 */margin-left: -300px;    /* 宽度的一半 */
}

缺点:该种方法需要提前知道容器的尺寸,否则margin负值无法进行精确调整,此时需要借助JS动态获取。

方法二、容器尺寸未知的前提下,使用CSS3的transform属性代替margin,transform中的translate偏移的百分比值是相对于自身大小的,设置示例如下:

.element {position: absolute; left: 50%; top: 50%;transform: translate(-50%, -50%); /* 50%为自身尺寸的一半 */-webkit-transform: translate(-50%, -50%);
}

缺点:兼容性不好,IE10+以及其他现代浏览器才支持。中国盛行的IE8浏览器被忽略是有些不适宜的(手机web开发可忽略)。

方法三、margin: auto实现绝对定位元素的居中

.element {width: 600px; height: 400px;position: absolute;left: 0; top: 0; right: 0; bottom: 0;margin: auto;  /* 有了这个就自动居中了 */
}

绝对定位元素设置水平居中相关推荐

  1. html绝对定位怎么页面居中,绝对定位元素设置水平居中

    需求:有时页面内的一些容器需要定位在特定的某个位置,但是需要容器在水平方向上面居中显示,比如页面内的一个背景图里面放置一个容器,使用margin-top不方便,就决定使用绝对定位来设置. 实现方法: ...

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

    文章目录 一.问题提出 二.绝对定位 居中设置 1.设置固定尺寸 2.先偏移50%再回退固定值 三.绝对定位元素 水平 / 垂直 居中 一.问题提出 绝对定位 不能通过 设置 margin: auto ...

  3. react-native 绝对定位元素设置zIndex层级无效 仍旧被遮盖 如何设置层级

    react-native层级的设置还是和PC.移动端h5不一样的 如下图所示(博主指的是右上角的"待审核状态"绝对定位层级被卡片TouchableOpacity覆盖): 以如下代码 ...

  4. html的绝对定位脱离文档流吗,子元素设置绝对定位之后脱离文档流!

    子元素设置绝对定位之后脱离文档流之后父容器宽高都为都不撑开了. 很多时候都是宽高都是0: 子元素设置绝对定位如何让子元素自己撑开高度? 下面的这个子元素设置绝对定位后,父元素宽高都为0 了.  如何让 ...

  5. 绝对定位元素的margin如何设置

    写在前面: 这篇文章其实还是没有谈到为什么绝对定位元素可以设置margin,以及为什么margin设置时的参照物是经过绝对定位后的位置,但是阅读后可以快速掌握绝对定位下的margin应该怎么设置. 1 ...

  6. 怎么html让元素脱离文档流,子元素设置绝对定位之后脱离文档流!

    子元素设置绝对定位之后脱离文档流之后父容器宽高都为都不撑开了. 很多时候都是宽高都是0: 子元素设置绝对定位如何让子元素自己撑开高度? 下面的这个子元素设置绝对定位后,父元素宽高都为0 了.  如何让 ...

  7. 关于css设置元素垂直水平居中的问题

    第一种: 利用定位属性实现,但需要知道元素的宽高 <div class="box"></div><style>.box{weight:200px ...

  8. 行内元素和块状元素的水平居中设置

    我在上一篇文章里总结了一下块状元素.内联元素.内联-块状元素的区别 三者的一个重要区别在于是不是独占一行以及能不能设置宽高.内外间距. 在这个前提下,我们应该怎么设置元素在水平方向上的居中呢? 行内元 ...

  9. html绝对定位到相邻元素中间,css – 在另一个元素的中心下方水平居中绝对定位元素...

    有不同的方法可以做到这一点,但我发现最简单的方法是对abolute定位元素执行以下操作: top: 0; left: 50%; transform: translateX(-50%); 使用此方法,您 ...

最新文章

  1. 【CTF】实验吧 传统知识+古典密码
  2. 轻量级社会化分享openShare源码解析
  3. ActionT 无参数委托详解
  4. 云原生与AI时代的存储该是什么样?新华三发布全NVMe智能闪存与智慧中枢数据平台
  5. Linux下多线程编译
  6. JAVA练手--数组
  7. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_08-vuejs研究-vuejs基础-v-if和v-for指令...
  8. PreScan传感器(二)——TIS传感器
  9. android 锁屏显示消息格式,通知!在锁屏上显示Android通知 | MOS86
  10. 「项目分享」软件测试简历中项目怎么写?让面试官眼前一亮的技巧
  11. 网络规划设计师教程pdf版下载
  12. 计算机笔记--【JVM】
  13. 【20200422】编译原理课程课业打卡十七之求解文法FirstVTLastVT构造文法算符优先关系表
  14. 垃圾清理代码_一招清理电脑垃圾
  15. 以一半的价格组装专业的深度学习工作站
  16. 线上线下联动 亚琦集团打好商贸物流体系创新“组合拳”
  17. Java程序性能优化 ! .
  18. C#实战之CAD二次开发003:插入文字和插入图块
  19. Review (Homography+Camera calibration) and others(Week 7 + Week 8)
  20. 如何查看linux内核版本

热门文章

  1. 西南交通大学计算机基础实验,西南交通大学实验教学平台-关于
  2. 15.17 对缺乏潜在类型机制的补偿
  3. python算程序员吗_我算是优秀的程序员吗?
  4. 分布式消息系统Kafka初步
  5. Java虚拟机家族考
  6. Saltstack_实战指南01_系统规划
  7. Thread和Runnable的区别
  8. git 版本控制器 初学习,工作中的问题及其解决方法
  9. GCD LCM UVA - 11388 (思维。。水题)
  10. 1.1 sql注入分类与详解