绝对位置元素在静态父级中的行为究竟如何

2023-11-29

我问这个问题是因为昨天我必须设置几个 div 的样式,如下所示thisJSFiddle 示例。

对我来说最棘手的部分是定位<div id="content-container">就从<div id="vertical-menu">但保持它们顶部对齐。我也想要边界<div id="content-container">走出它的父div。因此,经过一些研究(我是 CSS 初学者),我发现绝对定位可能是我所有问题的答案。所以确实,正如你所看到的,我添加了position: absolute to my <div id="content-container">与其他样式一起我得到了我想要的。

但是从我读到的内容来看absolute定位 我留下的印象是我需要一个父母relative定位,如果没有找到,我最终会得到<html>作为我的父元素,这对我来说意味着带有absolute定位将位于页面的最左上角。但正如示例所示,即使我的父元素或任何其他元素都没有relative positioning我仍然能在其中找到自己的元素。

那么到底发生了什么?为什么在这种情况下我的absolute定位元素不会超出正常流程?我认为,说它正在与static定位元素之间是否有类似的行为absolute内部定位元素static and relative父元素。而且 - 是否会有一些意外的行为 - 我问这个是因为我在现实世界的场景中使用它,即使我的父母使用默认值,我对结果也很满意static定位,但我想知道这是否只是幸运的巧合,或者只是绝对元素在它们位于其中时表现相似static or relative父母?


您没有指定任何top, bottom, left or right对于绝对定位的元素,因此它保持在静态位置并且不会去任何地方。

无论您的元素是否位于另一个定位元素中,这种情况都会发生,并且完全是设计使然;看我的回答这个问题CSS2.1 规范的解释。

我在你的小提琴中看到你试图浮动绝对定位的元素;这是行不通的。一旦你绝对定位了一个元素,它不能漂浮:

影响框生成和布局的三个属性 - 'display'、'position' 和 'float' - 相互作用如下:

  1. 如果“display”的值为“none”,则“position”和“float”不适用。在这种情况下,该元素不会生成框。

  2. 否则,如果“position”的值为“absolute”或“fixed”,则框绝对定位,“float”的计算值为“none”,并根据下表设置显示。框的位置将由“top”、“right”、“bottom”和“left”属性以及框的包含块确定。

删除position: absolute仅声明将使你的元素重新定位自己因为它现在是浮动的(实际上是被#vertical-menu因为没有足够的空间),一旦你移除了float: left声明也是如此,它返回到通常的静态位置.

另请注意,当您绝对定位元素时,它仍然会从正常流中取出。如果您尝试在之后直接添加内容<div id="content-container">...</div>你会看到的额外的内容出现在同一位置代替被推倒.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绝对位置元素在静态父级中的行为究竟如何 的相关文章

  • 仅 IE9_有时_会忽略

    我们正在开发一个大量使用 这是典型的 TYPO3 网站 该网站是在子目录中开发的 稍后将被重新定位到顶级目录 因此我们无法轻易删除 我们的客户告诉我们 有时当她浏览新页面时 她得到的页面内容没有应用布局 我们对此进行了调试 仅在 IE9 中
  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • CSS:仅显示字符串的前两个字母

    是否可以使用纯 CSS 仅显示字符串的前两个字母 到目前为止我已经尝试过 没有成功 first letter 仅针对第一个字母 无论如何对我不起作用 nth of everything 需要额外的 javascript 文本溢出 省略号 正
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • 当共享相同的行和列时,将网格项设置为不重叠

    现在 当两个网格项共享相同的行和列时 它们会相互重叠 div class some grid container div Item 1 div div Item 2 div div 我如何让它们不重叠 当共享相同的行和列时 其行为可能类似于
  • 如何在有序列表中组合数字和字母?

    如何在 CSS 中用数字和字母递增有序列表 ol nested margin bottom 0 counter reset item ol nested li display block position relative ol neste
  • html 选择列表 - 通过传入变量获取文本值?

    我有一个显示列表语言的选择列表
  • 我如何能够以两行显示标题,并且每行的字体大小不同?

    我正在使用 Google Chart API 创建时间线图 并希望将图的标题修改为两行 问题 我如何能够显示具有不同字体大小的两线图表标题 电流输出 理想输出 相关研究 我唯一能找到的是有人试图用饼图来做到这一点 但我尝试了但无法使其发挥作
  • 暂停除了已激活的玩家之外的所有其他玩家。

    我有这个插件 它可以将不同的样式应用于 html5
  • socket.io 的良好初学者教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 悬停此元素时隐藏元素后的伪元素

    我的菜单垂直放置在页面左侧和菜单之间 li 我有一个 after那是一个分隔符 我想要的是当我悬停元素本身 如果它是第一个元素 时隐藏 after 元素 或者当它是中间元素时隐藏上面和底部的元素 如果它是最后一个子元素 则隐藏 after前
  • Twitter 卡元标签问题

    有问题的网址 https www halleonard com viewpressreleasedetail action releaseid 10261 https www halleonard com viewpressreleased
  • 有角度的动态背景图片

    在 html 模板中 我有这种带有动态图像的样式 div style background none width 200px height 150px div 它适用于网络浏览器和 Android 浏览器 但是 使用 style 的动态背景
  • 最大宽度调整以适应文本?

    不是最好的标题 但无论如何 我有一个元素max width和一些文字 如果文本长度超过一行所能容纳的长度 我会得到以下结果 My text here hello everyone 换句话说 它占据了完整的最大宽度 但由于单词向下移动 右侧有
  • Jquery 数据表列总和

    我只是参考一下这个链接 https datatables net examples advanced init footer callback html了解如何获取 jquery 数据表中的列总计 但我已经完成了一半的项目 我在html页面
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad

随机推荐

  • ASP.Net 回发 get 时找不到指定的 URL

    当单击 ASP NET Web 表单页面上的 保存 按钮时 我立即收到以下信息 找不到指定的URL 当我在网络服务器上使用浏览器尝试此操作时 不会发生这种情况 以前有人遇到过这个问题吗 这是某种安全问题吗 More information
  • Laravel preg_match():找不到结束分隔符“/”

    我正在开发 Laravel 4 2 我尝试使用验证器通过正则表达式验证名称字段 这是我的规则如下 public static rules save class subjects gt required regex 0 9 0 9 但是 一旦
  • C# 序列化对象集合

    我正在开发一个 ASP NET 应用程序 该应用程序有一个继承自定义对象列表的类 public class UserRoleList List
  • Express.js 无效的 JSON GET 请求

    在编写 API 时 我遇到了一个非常棘手的错误 当我尝试执行res send INSERT JSON 带有 Content Type 标头application json 大多数 AJAX 的默认设置 我得到一个invalid json错误
  • 使用命令将单词与 vim 中的指定列对齐

    如何将整个文件中的单词移动或移动到指定列 例如如下所示 前 123 ABC 112 XYZS 15925 asdf 1111 25asd 1 qwer After 123 ABC 112 XYZS 15925 asdf 1111 25asd
  • 在一组两种可能性中选择唯一的行

    问题本身很简单 但我无法找出在一个查询中完成此任务的解决方案 这是我对问题的 抽象 以便进行更简单的解释 我将保留我最初的解释 但这里有一组示例数据和我期望的结果 好的 这是一些示例数据 我用空行分隔对 Key Col Together t
  • JQuery 表单验证不适用于新创建的元素

    我在使用 Jquery 验证插件时遇到了一些问题 想知道是否有人可以提供帮助 目前 该插件适用于当前页面上的任何表单元素 addRelease validate submitHandler function form form submit
  • 如何在 XSD 中引用全局类型?

    如何实现对 simpleType 的 XSD 内部引用 我遇到了您在下图中看到的错误 XSD
  • Delphi中OnKeyDown的问题

    我正在与德尔福合作 我想跟踪按下了哪个键 我正在使用 TForm 的 KeyDown 事件 它工作正常 但问题是 如果我按小写字母 但它会给出该字母的大写字母 如何识别按下的按键是小写还是大写 如果您想跟踪字母数字键 那么您应该使用KeyP
  • 将 Facebook 登录应用程序与 Facebook 粉丝页面链接有什么优势?

    我正在创建一个电子商务网站 我将支持 FB 登录 我也会有一个FB粉丝专页 在支持 facebook 登录应用程序的同时 可以选择将 FB 页面附加到登录应用程序 App gt app name gt 应用程序详细信息 gt 联系信息 gt
  • iOS静默推送通知已取消

    在我的应用程序中 我使用静默推送通知来定期通信 但我遇到了麻烦 因为我在未启动应用程序时收到的静默推送通知未被处理 操作系统版本为iOS12 我正在使用 FCM 发送推送通知 有人有同样的问题吗 以下是您收到静默推送通知时的控制台日志 10
  • iOS 6 MPMoviePlayerViewController 和 PresentMoviePlayerViewControllerAnimated Rotation

    在以前的 iOS 版本中 我们的视频会自动旋转 但在 iOS 6 中不再是这种情况 我知道 PresentMoviePlayerViewControllerAnimated 以前是设计用于执行此操作的 但是我如何告诉 MPMoviePlay
  • Android:如何检测双 SD 卡[重复]

    这个问题在这里已经有答案了 有什么方法可以识别设备中是否有两张 SD 卡 Edit 我发现目前无法区分内部存储和真正的外部SD卡 在某些设备 例如 Samsung Galaxy Tab 7 英寸 中 系统将内部存储 通常为 16GB 视为外
  • Android:MediaPlayer AUDIOFOCUS_LOSS 和 setOnErrorListener() 问题

    我正在创建一个音乐播放器应用程序 我正在检查我的应用程序是否丢失 AudioFocus 然后播放将停止 但这提出了一个问题 当我播放一首曲目时 然后停止它 然后再次播放一首曲目 switch case AudioManager AUDIOF
  • String.equals() 是如何工作的

    我一直在尝试了解一些 API 方法是如何工作的 下面是 java lang String 类的 equals 方法的片段 有人可以告诉我代码实际上是如何比较两个字符串的吗 我明白了计数的重要性 但是偏移量意味着什么 这些变量如何获取值 就像
  • 从 Wikipedia API 获取名人

    我正在尝试从 Wikipedia API 中获取还活着的人 但我还不知道该怎么做 I found 这个问题这和我的一样 据我所知 唯一的方法是搜索只有birth date参数的人 我实际上该怎么做 例如 如果我想搜索 罗纳尔多 我应该得到所
  • Ionic V5 在 Safari 上出现 Angular 组件问题

    我遇到了 Ionic PWA 应用程序在 Safari 上针对以下 UI 组件的点击问题 离子无线电 离子选择 离子菜单 当您单击单选按钮组件 https ionicframework com docs api radio 1 时 您可以看
  • Oracle 中不带 FROM 子句的选择

    in SQL服务器可以在不引用表的情况下执行 SELECT 就像是 Select 1 2 3 my dummy string As Oracle不允许没有 FROM 的 SELECT 我使用双表进行此类操作 就像是 Select 1 2 3
  • RadioGroup 允许选择多个RadioButton

    我有一个在 XML 中定义的 RadioGroup 它有两个 RadioButton 但是 我需要将标签显示在按钮本身的左侧 标签左对齐 按钮右对齐 为此 我使用了包含 TextView 和 RadioButton 的relativelay
  • 绝对位置元素在静态父级中的行为究竟如何

    我问这个问题是因为昨天我必须设置几个 div 的样式 如下所示thisJSFiddle 示例 对我来说最棘手的部分是定位 div 就从 div 但保持它们顶部对齐 我也想要边界 div 走出它的父div 因此 经过一些研究 我是 CSS 初