【发布时间】:2018-11-30 04:54:35
【问题描述】:
如果这是一个骗局,那么抱歉,但我没能找到它。
我有一个绝对定位的元素,它的大小当前基于其内容:当前情况下的要求。但是,它也直接设置在其父级的右侧,而它需要在其正下方。 为了将绝对元素设置在其父元素下方,我设置了它的左侧和顶部,并使父元素相对定位。但是,当我这样做时,绝对元素采用其父元素的宽度(非常小)。我真的需要绝对元素根据其(通常是动态的)内容来定义自己的宽度。
有没有一种有效的方法可以将绝对元素设置为刚好在其父元素之下,同时让其打开以根据其内容调整大小?
编辑:
Here's 用于演示问题的 jsfiddle 链接。
这里是html:
<div id='menu'>
<span class='menuItem'>
<span class='menuItemTitle'>
Item 1
</span>
<div class='menuItemContent'>
test1 test1 test1 test1<br/>
testing testing, one two three<br/>
Anyone there?
</div>
</span>
<span class='menuItem'>
<span class='menuItemTitle'>
Item 2: extra wide
</span>
<div class='menuItemContent'>
test2 test2 test2 test2
</div>
</span>
</div>
这是 CSS:
#menu
{
background-color: blue;
width: 100%;
}
.menuItem
{
padding: 0 1em;
//position: relative;
}
.menuItemTitle
{
background-color: yellow;
}
.menuItemContent
{
background-color: green;
display: none;
position: absolute;
z-index: 100;
}
.menuItem:hover .menuItemContent
{
display: inherit;
}
默认情况下,它显示没有相对父级的绝对元素。这允许元素的内容定义其宽度。 如果您转到“.menuItem”样式并取消注释它的位置,那么绝对元素会被压扁。
【问题讨论】:
标签: html css position absolute