Absolute绝对定位异常
在涉及绝对定位的多层布局中,经常会遇到内层div有绝对定位的场景相对于其直接父级的定位,该父级也绝对定位在另一个 div 中。然而,在这样的设置中,内部 div 从其直接父级继承其绝对位置,导致看似意外的行为。
考虑以下 HTML 结构:
<code class="html"><div id="1st" style="position: relative;"> <div id="2nd" style="position: absolute;"> <div id="3rd" style="position: absolute;"></div> </div> </div></code>
直观地说,一个期望 #3rd 的位置是相对于 #1st 的绝对位置,因为 #2nd 绝对位于 #1st 内。然而,现实情况是#3rd 的绝对定位继承自#2nd。这是因为#2nd 上的position:absolute 重置了其相对于其父级的位置,导致#3rd 绝对定位在#2nd 内。
此行为可归因于CSS 特异性规则。当子元素具有绝对位置时,其位置由其直接父元素的边界框确定。在这种情况下,#3rd 的位置由 #2nd 的边界框定义,并且不知道 #2nd 相对于 #1st 的绝对位置。
解决此问题并使 #3rd 绝对定位相对对于#1st,有必要使#3rd 成为#1st 的直接子级。换句话说,以下 HTML 将产生所需的行为:
<code class="html"><div id="1st" style="position: relative;"> <div id="3rd" style="position: absolute;"></div> </div></code>
在这种情况下,#3rd 的绝对位置由其父级 #1st 的位置决定,这正是人们所期望的。需要注意的是,通过position:absolute重置父元素的位置也会影响其子元素的位置,除非它们相对于不同的父元素是绝对定位的。
以上是为什么绝对定位继承自嵌套 Div 中的直接父级?的详细内容。更多信息请关注PHP中文网其他相关文章!

这是我们在形式可访问性上进行的小型系列中的第三篇文章。如果您错过了第二篇文章,请查看“以:focus-visible的管理用户焦点”。在

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),