gpt4 book ai didi

css - 为什么背景图像和 50% 的绝对位置表现不同?

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:46 27 4
gpt4 key购买 nike

图像背景位置向左 50% 使背景图像居中,但在绝对定位元素中向左 50% 不使 div 元素居中为什么?

代码如下:

<div style="position:relative;height:100px; background:url(images/demo.jpg) no-repeat 50% 0">
<div style="min-height:40px; width:140px; background-color:#aaa;position:absolute;top:0;left:50%;">
heloo this is just a demo
</div>

最佳答案

background-position 属性中声明的相对定位会考虑被定位图像的尺寸,而当使用 CSS 位置属性 (top,right,bottom,left) 只考虑相对父级的维度。

考虑它的一个好方法是使用最小值和最大值:

  1. 设置为 0% 时效果相同:
    • 背景定位图像紧贴包含元素的左边缘
    • 绝对定位元素紧靠相对父元素的左边缘
  2. 设置为 100% 时,效果明显不同:
    • 背景定位图像紧贴包含元素的右边缘
    • 绝对定位元素的左边缘与相对父元素的右边缘对齐

要解决您的问题,您可以将元素宽度的一半的负边距添加到第二个 div:

margin-left: -70px;

关于css - 为什么背景图像和 50% 的绝对位置表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15093957/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com