HTML div 元素不采用其父级的高度,即使父级具有非零高度

2024-03-31

我有一个相当简单的问题。我有一个包含三个孩子的容器 div - 两个 div 和一张桌子。以下是CSS:

#container {
   overflow: auto;
}
#child1 {
   float: left;
   width: 50px;
   height: 100%;
}
#table1 {
   float: left;
}
#child2 {
   float: left;
   width: 50px;
   height: 100%;
}

HTML 也非常简单

  <div id='container'>
      <div id='child1'></div>
      <table id='table1'>
        <tbody></tbody>
      </table>
      <div id='child2'></div>
  </div>

该表有一些设置其高度的内容。当页面渲染时,父容器 div 的高度被设置为表格的高度,这是应该的。然而,其他孩子却因某种原因倒地不起。以下是示例,为了清晰起见,其中包含一些表格元素和样式:http://jsfiddle.net/GUEc6/ http://jsfiddle.net/GUEc6/。如您所见,容器 div 的高度已正确设置为表格的高度,但 child1 和 child2 div 未能正确将其高度设置为表格的 100%。我知道,如果浮动元素的高度设置为 100%,则父元素需要对其自身高度进行某种定义,以便子元素可以 100% 为具体的元素。但看起来这并不是这里发生的事情。


这是一个常见的误解height: 100%.

From MDN https://developer.mozilla.org/en-US/docs/Web/CSS/height:

百分比是根据高度计算的 生成的盒子的包含块。如果包含的高度 堵塞没有明确指定(即,这取决于内容 height),并且该元素不是绝对定位的,该值 计算为自动。根元素的百分比高度是相对的 到初始包含块。

解决您的问题的一种方法可能是绝对定位。放position: relative放在容器上并将孩子们绝对定位。环境top: 0; bottom: 0;在它们上会将它们拉伸到容器的高度。

快速演示 http://jsfiddle.net/GUEc6/3/(显示概念,您可能需要调整它)

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

HTML div 元素不采用其父级的高度,即使父级具有非零高度 的相关文章

  • 自定义光标,无需库即可拖放 HTML 元素

    I have an HTML page which has some draggable elements Our specs say that hovering mouse on such element the cursor must
  • 使用 CSV 文件填充下拉列表 - d3

    我想在 html 中填充简单的下拉列表 使用 csv 文件中存在的值 我尝试类似的方法 但它不起作用
  • 如何为多个画布图像填充颜色?

    这是我第一次使用 html5 canvas 我还不知道它是如何工作的 我的问题是 我必须修改画布中图像的颜色 如果只有一张图像 这很容易 但是 我会有不止一张 换句话说 重叠的图像 为了进一步理解我的问题 我创建了一个插图 只有 2 个图像
  • 可滚动 Turbo 表中的 PrimeNG 过滤器下拉问题

    在 prime ng Turbo Table 中 当我们将过滤器下拉列表放入表内的可滚动表下拉列表中时 没有可滚动表下拉菜单就完美了 这工作完美 https i stack imgur com 16vjy png 但是当可滚动表格时 下拉菜
  • 有没有办法让特定的 div 忽略它的父 div 的位置?

    我有一个 div 其位置因其包含的 div 的相对定位而偏离 虽然删除父级的相对定位可以解决问题 但我们宁愿不将其作为解决方案来实现 因为它可能会破坏其他内容 有没有办法强迫孩子忽略父母的定位 不幸的是 没有办法让一个元素通过 CSS 动态
  • 如何隐藏 IE8 和 IE9 中的下拉箭头?

    我使用下面的 CSS 隐藏 FF safari chrome 中的下拉箭头 并添加我自己的图像进行自定义 select webkit appearance none moz appearance none o appearance none
  • 使用 javascript 更改 onClick 属性

    这是我的函数 它应该更改 HTML 输入的 onClick 属性 但是如果我使用 document getElementById buttonLED id onclick writeLED 1 1 它根本不起作用 但如果我使用 docume
  • 本地化 html 文档(事后看来)

    我正在用 PHP 构建一个 Web 应用程序 我已经决定 在整个过程中 以不同的语言提供该应用程序 我的问题是这样的 我不想费力地浏览模板文件中的所有 HTMl 代码来查找需要用动态生成的 lang 变量替换的 单词 有没有一个工具可以突出
  • 使用 HTML / CSS / JavaScript 隐藏 YouTube 视频控件(标题、稍后观看、分享)

    我正在我的网站中嵌入 Youtube 每日动态视频 我不希望 Youtube 视频控件在我的网站上可见 请查看附件 我想删除顶部的控件 以红色突出显示 并且还想删除底部的控件 以红色突出显示 以前可以在 YouTube 视频中使用 show
  • 如何将自定义 HTML 代码放入 WordPress 网站的标题中 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这是我的网站 我需要放置 html
  • Android:将视图放置在任意位置

    我一直在尝试将视图放置在任意位置 My aim 覆盖 JPG PNG 的某个矩形 给定坐标与 JPG PNG 相关的 还有一些其他视图 例如图库或一些视频 我不想使用绝对布局 因为它已被弃用 因此 我使用relativelayout 定义一
  • CSS 列,从上到下然后从左到右

    我正在为应用程序构建报纸风格的布局 我的页面分为 8 列 各列应先垂直填充 然后水平填充 如果没有足够的内容来填充页面 则列仍应首先垂直填充 在页面右侧留下空白 目前 它们首先水平填充 在内容下方留下空白 我已经尝试过使用 CSS 列 但它
  • 检查窗口是否已经打开 window.open

    我有一个 html 页面 在我调用的页面正文中onload调用 javascript 函数打开弹出窗口的事件 这是代码 var newWindow null function launchApplication if newWindow n
  • 桌面 webkit 相当于 Android 的 addJavascriptInterface()?

    在研究 Android UI 可能性时 我发现了一种名为 addJavascriptInterface 的方法的文档 该方法允许您将 Android Java 对象上的方法公开给 UI 的 WebView 组件中的 Javascript 这
  • div 中的内部 html 更改时触发事件

    I have div对于一些信息 填写为 innerHTML单击按钮 目标是我想要 slideDown添加 div 中的文本时的 div 可以用 jQuery 来实现吗 Example div div 将文本添加到 div document
  • 如何删除 html 表格中单元格之间的空格

    我尝试删除 Table1Header 和 Table2Header 之间的空白 我尝试了 border 0px padding 0px 和 border spacing 0px 风格 Firefox 和 Opera 告诉我 我的边框间距样式
  • 什么是 .tpl 文件? PHP、网页设计

    有人希望我重新设计一个用 PHP VideoCMS 运行的网站 但是当我要求他向我发送源代码时 他给了我 tpl 文件而不是 php 其中有一些代码 include file header tpl p article br table wi
  • post-css 未从 node_modules 找到路径

    我目前有一个 Angular 项目 我希望使用 purgecss 清除 css 我已经一切正常 但是当我导入 node modules 时 它很困难 因为它找不到位于 node modules 文件夹中的路径 我有当前的app scss f
  • 如何使用 webpack 从 node_modules 加载静态 CSS 文件的示例?

    我不知道如何使用 webpack 从 node modules 库加载任何 CSS 例如我已经安装了 leaflet 以及每次尝试加载leaflet dist leaflet css fails 您能提供如何从node modules加载静
  • javascript 在提示后显示用户输入

    我想在用户完成信息输入后显示用户输入的内容 当用户到达最后一个提示时 我希望页面显示他们输入的内容 例如 如果他们在名称部分下输入 apples 我希望它在底部代码的 P1 部分中列出单词 apples 我是 javascript 的新手

随机推荐