我们都知道,当给一个块级元素设置宽度后,使用margin:0 atuo可以实现水平上的居中。

margin:0 auto的理解是,上下边距为0,左右边距为auto(auto是自动调整大小)

在浏览器中div如果没有设置宽度,那么宽度自动为浏览器的宽度,这是给div设置宽度后,div会靠左显示,margin:0 atuo就是为了填充右侧的空白空间。

但是<img>当不设置宽度时,不会块级元素一样宽度默认和浏览器相同,所以不能用margin:0 auto来居中,因为img是行内的块级元素。

可是当使用了绝对定位时,margin:0 auto就失效了,有什么好的方法来失效居中吗?
我们写两个div,关系为父子关系。想要实现div2在div1的下方居中。

<div class="div1"><div class="div2"></div>
</div>

css样式设置为

       .div1{position: relative;height: 300px;width: 300px;background:black;}.div2{position: absolute;bottom:0;height: 100px;width: 100px;background: red;}

此时会发现给div2设置margin:0 auto; div2并不会居中显示。
解决办法是改css为

       .div1{position: relative;height: 300px;width: 300px;background:black;}.div2{position: absolute;bottom: 0;left: 50%;margin-left: -50px;height: 100px;width: 100px;background: red;}

实际上就是给div2一个left为50%,然后使margin-left的值为div2的一半就可以实现居中了

           left: 50%;margin-left: -50px;

解决使用绝对定位absolute后,margin:0 auto居中方法失效相关推荐

  1. 工作374-前端margin:0 auto为什么会失效

    1.要给居中的元素一个宽度,否者无效. 2.该元素一定不能浮动,否者无效. 3 在HTML中使用标签,需考虑好整体构架,否者全部元素都会居中的. 4.display:table-cell displa ...

  2. css中margin:0 auto没作用

    很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题!margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应!其 ...

  3. [css] 怎么IE6下在使用margin:0 auto;无法使其居中?

    [css] 怎么IE6下在使用margin:0 auto;无法使其居中? 浏览器解析的问题,IE6下需要对居中的元素设置text-align:center属性使其margin:0 auto;生效. 个 ...

  4. 块状元素的居中,首先设置宽度,再设 margin: 0 auto

    块状元素的居中,首先设置宽度 width="10px",再设 margin: 0 auto; . 转载于:https://www.cnblogs.com/npk19195globa ...

  5. margin: 0 auto;的作用

    在html中,为什么我们设置一个margin: 0 auto;就可以使得块元素居中? <!DOCTYPE html> <html lang="en"> &l ...

  6. CSS中:margin和padding的区别 margin:auto与margin: 0 auto区别

    css中padding和margin的区别 margin 外边距 border 边框 padding 内边距 padding-left:10px; 左内边距.padding-right:10px; 右 ...

  7. 行内元素设置margin:0 auto无效的问题

    行内元素指的是可在同一行内排列的元素,列举几个常用行内元素:img.input.span.label.a.textarea.button. 通常要给元素设置居中得效果的话,很多人会先想到margin: ...

  8. margin:0 auto是什么意思

    margin是外边距的意, 当一个元素样式属性里有dumargin:0 auto时,并且父元素的宽度是确定的, 意思是这个元素处于其父元素的居中位置,并且这个元素的上下外边距为0 即:上下外边距为0, ...

  9. text-align:center 和margin:0 auto的区别

    基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式;   该属性通过指定行框与哪个点对齐,从而设置块级元素内文本水平对齐方式; 一般情况下设置文本对齐方式的时使用此属性.支持值 ...

最新文章

  1. ko文件卸载 linux_Linux驱动06 | 为什么使用内核模块?
  2. centos7 nginx安装_手把手教你PHP(一) Centos7上的LEMP配置
  3. commons-io_从Commons CLI迁移到picocli
  4. Java集合LinkedList
  5. GitHub项目协作基本步骤
  6. LeetCode 833. 字符串中的查找与替换(排序,replace)
  7. IPsec   在企业网中的应用
  8. matlab混叠现象与频率分辨率,连续时间信号频谱分析研究及MATLAB实现
  9. Luogu P2827 蚯蚓
  10. 在C#中,当您在null对象上调用扩展方法时会发生什么?
  11. Linux O(1)调度器
  12. 测试工程师必备技能之缺陷分析
  13. Android基础整合项目之节日群发助手(三)
  14. 计算机公式SUBSTITUTE,全了,SUBSTITUTE函数常用套路集合!
  15. 第一个爬虫-爬取搜狗的一整张网页
  16. Java电商平台之订单功能和支付功能实现
  17. 不仅室内,思岚科技激光雷达在室外使用同样出色
  18. Linux视窗系统:QT使用GPU渲染
  19. 拓嘉辰丰:拼多多详情图制作方法
  20. 【产品方案】如何全面建设B端产品中的数据迁移方案

热门文章

  1. java ftp返回到根目录,Linux下搭建ftp服务,更改根目录到大存储到位置
  2. 6713_EMIF操作外部flash
  3. 【码上实战】【立体匹配系列】经典PatchMatch: (1)框架
  4. 我准备这样在B站快速学习Java!附上B站视频链接以及白嫖视频教程
  5. android中用代码设置edittext属性为密码,Android中EditText常用属性设置
  6. 用Python的turtle和matplotlib画出圆满和爱心
  7. HTML锚点的id属性和name属性
  8. ES5、ES6的浏览器兼容性
  9. UWPWP8.1 基础控件——Image
  10. android editview获取焦点,Android EditText 获取不到焦点