2011-12-08 59 views
0

我想水平位置有两个下拉菜单等一起一些文本:水平浮动容器内的绝对定位元素?

Text One : | I'm a dropdown |  Text Two: | I'm a second dropdown |

,其中“我是一个下拉菜单”元素绝对定位ul元素,最终将有一些JS作为下拉菜单。我最初认为HTML将像(Here is the JSFiddle):与像CSS一起

<div id="wrapper" class="clearfix"> 
    <div> 
     Tet One 
    </div> 
    <div class="dropdown"> 
     <ul> 
      <li>I'm a dropdown</li> 
      <li>Value One</li> 
     </ul> 
    </div> 
    <div> 
     Text Two 
    </div> 
    <div class="dropdown"> 
     <ul> 
      <li>I'm a second dropdown</li> 
      <li>Value Two</li> 
     </ul> 
    </div> 
</div> 

#wrapper > div{ 
    float: left; 
} 
#wrapper > div.dropdown{ 
    position: relative; 
} 
#wrapper > div > ul{ 
    position:absolute; 
    width: 100%; 
} 

的结果是纯文本的div元素(“文本一”和“文本的两种” )漂浮得很好,但相对定位的元素不能保持适当的宽度,并且将绝对定位的元素放置在彼此的顶部,即,一切都向左挤压。

a)这可以修复吗?

B)这是错误的做法,是有一个更好的(如使用display: inline-block?)

回答

0

我最终通过使用inline-block outter DIV解决这个,放置在每个绝对定位UL相对DIV包装里面,像这样:

http://jsfiddle.net/timmyomahony/tGn6m/

经过思考,我没有问这个问题非常好为那些花时间回答的人表示歉意。

1

我认为你正在做的事情有点太复杂了,看到http://jsfiddle.net/cvZfF/

+0

对不起,我不认为我在问题中很清楚:我需要'ul'元素作为下拉菜单(即隐藏除了悬停之外的所有内容),因此它们需要绝对定位 –

+0

恐怕我真的不明白你为什么需要绝对定位。这更多是你在找什么? http://jsfiddle.net/cvZfF/5/ – ptriek

+0

因为如果没有完全定位下拉框,包装下的所有元素都将在悬停时移位:http://jsfiddle.net/cvZfF/27/ –

相关问题