【问题标题】:Is it important to specify the position:absolute of an image inside an absolutely positioned div?在绝对定位的 div 中指定位置:绝对图像是否重要?
【发布时间】:2019-09-07 20:47:11
【问题描述】:

最近我们的主网站进行了重新设计 wrt UI - 新的导航/页脚等。 主网站(具有自己的 UI - 导航/页脚等)托管在主页面中调用的其他 html 页面。

在重新设计之前,每当我们创建 html 页面(用于滑块/悬停效果等)时 - 相对定位的主 div(主容器 - 相对) -具有绝对定位的 Div(内部容器 - 绝对) - 里面有图片(图片 - 内容)

我们不必为绝对定位的内部容器的图像/内容指定绝对位置。 它们都表现得像绝对定位的内容器。

但在新 UI 中 - 定义内容的位置变得必要。

这是不正常的吗?

我认为这是一种偏差——新 UI 有问题。它是由主页的CSS引起的吗? 如果您遇到过这样的事情,请分享。

【问题讨论】:

  • 绝对定位元素内的任何东西都会随之移动,并且不需要绝对定位。事实上,如果里面的图片也是绝对定位的,那么图片和它的容器就会相互独立。也就是说,我们无法在没有代码的情况下帮助您解决问题。请发布您的 HTML 结构和 CSS 样式。
  • 我错了。就它如何影响孩子的位置而言,绝对定位父母与相对定位它的行为相同。他们不会是独立的。见这里:jsfiddle.net/DUEzd
  • 非常感谢您的描述。因此,重要的是要特别提及内容元素的位置。我说的对吗?
  • 真的不应该,除非你需要搬家,因为他们的父母已经搬家了。我从来没有遇到过需要在绝对定位中进行绝对定位。如果您想发布带有简化示例或一些代码的 Fiddle,我们可以看看。

标签: html css css-position


【解决方案1】:

如果我没记错的话,<html> 元素绝对定位到0,0。然后所有的内容都是相对定位的,除非你使用 CSS 来绝对分配位置给一个元素。

因此,如果您有一个绝对定位到top:10; left:10<div>,那么它将被放置在距离<html> 元素的内容框左侧10 像素和向下10 像素的位置。放置在此div 中的所有内容都相对于div 的位置定位(例如10,10)。如果你需要在<div> 中绝对定位一个元素,那么你需要指定CSS 来绝对定位它,比如top:10; left:10。绝对坐标将是top:20, left:20,例如来自<html> 元素的位置。它在<div> 中的位置将是top:10; left:10,由CSS 指定。

【讨论】:

  • 感谢您的回复。那么需要指定内容在容器div内的位置吗?
  • @hello_world 仅当您希望将其绝对定位到该元素内的某个位置时(例如,如果您不希望该元素遵循正常的文档流)。
猜你喜欢
  • 1970-01-01
  • 2015-07-18
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
相关资源
最近更新 更多