【问题标题】:Absolutely positioned element within relative parent. Need parent to grow to the width of the element inside相对父级中的绝对定位元素。需要 parent 增长到里面元素的宽度
【发布时间】:2010-09-04 00:54:12
【问题描述】:

我有一个 div,我想在其中浮动其他 div。在浮动 div 中,我需要将内容定位在底部,因为其中一些内容比其他内容高,我不希望它们对齐最佳。我尝试过这样的事情:

.right {
  float:right;
}
.left {
  float:left;
}
.actionCell {
  margin:2px 5px 2px 5px;
  border:1px solid Black;
  height:100%;
  position:relative;
}

HTML:

<div style="position:relative;">
    <div id="HeaderText" class="left actionCell"><span style="position:absolute;bottom:0px">Header&nbsp;Text</span></div>
    <div id="SelectedItems" class="left actionCell">10 Selected Items</div>
</div>

内部有跨度的那个可以工作,但是我需要它的父容器增长到它的宽度。任何想法如何在不使用表格的情况下解决这个问题?

【问题讨论】:

  • id HeaderText 和 id SelectedItems 的 css 是什么?
  • 应该列在html上面

标签: html css


【解决方案1】:

不幸的是,绝对定位的元素不再与它们的父元素交互,所以要获得你想要的效果,你需要一个 hack。幸运的是,网络开发充满了黑客:

仅 CSS,使用 prop 元素

&lt;div id="HeaderText"&gt; 中创建一个visibility: hidden 元素,该元素与绝对定位的&lt;span&gt; 具有相同的内容。这将强制&lt;div id="HeaderText"&gt; 的宽度包含您的绝对&lt;span&gt;

不利的一面是,这会复制任何没有 CSS(和搜索引擎)的人都会看到的内容。

jQuery 获取孩子的绝对宽度

&lt;div id="HeaderText"&gt; 的宽度设置为其绝对&lt;span&gt; 子级的宽度。这样可以绕过重复的内容,但您的用户需要 Javascript。

in action here 都可以看到。

【讨论】:

  • 好的,有什么方法可以让IE在不使用绝对定位的情况下将内容定位到div的底部?我尝试过诸如垂直对齐:底部之类的方法,但似乎没有任何效果。
  • 你可以这样做:&lt;div id="HeaderText" class="left actionCell" style="line-height: 280px"&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-09
相关资源
最近更新 更多