2010-01-26 63 views
1

即我有一個div,下面是一個隱藏的div,它比上面的div寬。我想指定div裏面的元素的寬度大於上面的div。這些元素的右手邊與上面div的右手邊對齊,但由於它更寬,所以想要左手邊爆發。下面的div在diff層上面,因爲它只出現在點擊上面div的觸發元素上。無論如何,如果沒有指定孩子的寬度div div'breakout'div div,只是孩子元素

基本上它是一個下拉列表,其中一些隨機元素比圖像元素更寬,在點擊時會丟棄該列表。但我希望下面的列表展開到父div的左側,而不指定確切的位置。因此,元素都是父div的子元素,並且與父元素一致。

嗯,希望你可以關注。真的很感謝任何幫助。提前致謝。

+0

剛剛得到的建議負利潤率,但如果有其他建議。讓我知道,歡呼 – user256410 2010-01-26 03:29:46

回答

1

負邊距似乎是最好的答案。如果有人知道跨瀏覽器問題,請在這裏發帖。也許我會但不會爲他們測試一兩個星期。

0

您應該儘可能使用select標籤(爲了可訪問性),即使它看起來不像花式。但是,如果你設置就可以了,嘗試這樣的事情(和添加JavaScript代碼來隱藏/顯示列表):

#wrapper { 
    width: 500px; 
} 
#select { 
    border: 1px solid black; 
    width: 180px; 
    float: right; 
} 
#options { 
    float: right; 
    clear: right; 
    text-align: right; 
} 

<div id="wrapper"> 
    <div id="select">pick one...</div> 
    <div id="options"> 
     <div class="option">I'm short</div> 
     <div class="option">I'm a very very very very very long option</div> 
    </div> 
</div> 

如果你最終使用這個,變化選項div爲ul標籤,選項divs爲li標籤,或者語義上更接近你正在構建的東西。在我的例子中,我只是用div來減少css的數量。

相關問題