Html 为什么居中相对定位div中的绝对定位元素不居中?
我不明白为什么下面的代码不能使图像居中。你能帮我吗Html 为什么居中相对定位div中的绝对定位元素不居中?,html,css,Html,Css,我不明白为什么下面的代码不能使图像居中。你能帮我吗 <div align="center" style="position:relative;"> <div style="position: absolute"> <img src="a.png"/> </div> </div> 如果要将绝对定位的元素居中,则需要使用自动边距并设置左和右值 #absolute-element{ left: 0; righ
<div align="center" style="position:relative;">
<div style="position: absolute">
<img src="a.png"/>
</div>
</div>
如果要将绝对定位的元素居中,则需要使用自动边距并设置
左
和右
值
#absolute-element{
left: 0;
right: 0;
margin: 0 auto;
}
使用绝对时,必须设置顶部和左侧属性。如果要水平居中,则必须定义
左侧
和右侧
属性
请看一下
<div style="position:relative; border-top:1px solid red;">
<div style="position: absolute; left:50%; right:50%;">
<img src="http://placehold.it/100x100" />
</div>
</div>
要使图像水平和垂直居中,请添加
左:0;右:0;排名:0;底部:0;保证金:自动代码>
<div style="position:relative; height: 100%; background: #eee;">
<div >
<img style="position: absolute; left:0; right:0; top:0; bottom:0; margin: auto;" src="http://placehold.it/350x150"/>
</div>
</div>
?垂直地水平方向?为什么它应该居中?@j08691因为它在一个居中的div中,我想。除非你不定义left
和right
属性,否则它不会。你基本上告诉它绝对定位到它的相对父级,这是一个好的开始-但是你从那里开始呢?如果您试图获取绝对中心,则需要将(顶部:0;右侧:0;底部:0;左侧:0;边距自动;)添加到绝对定位元素中。默认值不是0吗?它是相对于父div定位的,父div是居中的,所以0 top和0 left应该在中间,不是吗?0 top和0 left是左上角,逻辑上html5不支持align=“center”我的理解是,绝对定位的元素是相对于其父元素定位的。如果父元素居中,则嵌入元素的0顶部和0左侧位于中心。那么,为什么图像不在中间呢?@Sunny88我想你指的是外部div内部的align
属性。align
属性只影响那些不是绝对位置的子div。这意味着我在div上设置align=“center”这一事实没有任何效果?与其使用align=“center”
,不如使用text align:center
来居中文本元素。请解释为什么给出-1
?我不知道你是谁,但我在看过去几天我对我过去给出的所有答案进行了否决投票。主持人必须关注这个问题。否则我最好离开论坛。