html - 添加图像后,Div 的高度会立即扩展

标签 html css

花了 2 天的时间来解决这个问题:http://jsfiddle.net/DQFja/537/ 基本上有一个名为“table”的父 div 和其中的 2 个单元格。一个单元格有子分区,另一个单元格有一个图像。图像没有像我预期的那样显示在 div 的左上角。这可以通过从子 div 中删除“高度”属性来解决,但我需要它(div 用于背景,cell1 也用于背景)。

<div id="table">
 <div id="cell1">
  <div id="sub-cell1">
  </div>
 </div>
 <div id="cell2">
  <img src="https://www.google.ru/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" height="20"/>
 </div>
</div>

#table
{
 display:table;
 height:103px;
}

#cell1, #cell2
{
 display:table-cell;
}

#cell1
{
 width:50%;
 height:103px;
 background-color:green;
}

#sub-cell1
{
 width:100%;
 height:103px;
 display:inline-block;
}

#cell2
{
 width:1000px;
 height:103px;
 background-color:red;
}

谁能解释一下为什么图像没有位于此处第二个 div 的左上角?如果图像被删除或子 div 被删除或子 div 的“高度”属性被删除,它会按预期工作。

最佳答案

表格以垂直居中元素的方式表现 解决方案可能是

1) 你可以添加vertical-align: top;到细胞 2)对图片使用绝对定位

#cell2
{
 width:1000px;
 height:103px;
 background-color:red;
 vertical-align: top;
}

http://jsfiddle.net/DQFja/539/

关于html - 添加图像后,Div 的高度会立即扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189383/

相关文章:

jquery - 将鼠标悬停在 div 上会更改另一个 div 标题

html - 用透明的 html 对象覆盖 starling flash 对象

javascript - 带有汉堡图标的响应式侧面导航菜单

jquery - 谷歌地图通过外部链接点击标记

javascript - 将 AngularJS 数据保存在内容 div 中

html - 无法删除标题中 html 页面中的白色补丁(半圆)

html - 下拉菜单 html css 不工作

html - 使用 html、CSS 和提供的字形设计和 UI 元素

JavaScript DOM : How can I get the class attribute value of an element in this situation?

css - 网站内容出现在标题中但最后加载