看板 Web_Design 關於我們 聯絡資訊
先附上code HTML: <ul class="navigation"> <li><a href="#">請選擇</a> <ul style="width: 200px; height: 100px; overflow-x:hidden;overflow-y:auto"> <li><a href="#">第一層大類A</a> <ul> <li><a href="#">第二層小類1</a></li> <li><a href="#">第二層小類2</a></li> <li><a href="#">第二層小類3</a></li> <li><a href="#">第二層小類4</a></li> </ul> </li> <li><a href="#">第一層大類B</a><li> <li><a href="#">第一層大類C</a><li> <li><a href="#">第一層大類D</a><li> </ul> </li> </ul> CSS: <style type="text/css"> body, ul.navigation, ul.navigation li, ul.navigation ul, a{ margin: 0; padding: 0; font-size: 12px; text-decoration: none; } ul.navigation,ul.navigation li { list-style: none; } ul.navigation li { position: relative; float: left; } ul.navigation li a { width: 200px; display: block; padding: 1px 2px; background: #fff; color: black; z-index:1; } ul.navigation > li > a{ border-bottom: 1px solid #CCC; border-left: 1px solid #CCC; } ul.navigation > li > a:hover{ color: #666; background: #DDD } ul.navigation li ul{ display: none; float: left; position: absolute; left: 0; margin: 0; z-index:2; } ul.navigation li:hover > ul{ display: block; } ul.navigation ul li { border-bottom: none; } ul.navigation ul li:last-child { border-bottom: none; } ul.navigation ul a { width: 200px; padding: 1px 2px; color: #666; background: #EEE; z-index:3; } ul.navigation ul a:hover { background: #CCC; } ul.navigation ul li:hover > ul{ display: block; position: absolute; top: 0; left: 100%; } 主要問題是因為第一層數量很多 所以在ul 指定長寬跟overflow後出現y軸捲軸 結果出現一個問題 就是捲軸是出現了 但原本第二層的資料卻變成顯示在捲軸內 變成要拉捲軸才能看到"第二層"的資料 其實我是想要第一層選單可以多捲軸避免資料太長難閱讀 想要的效果是 第一層下拉用捲軸可找到想要的項目 滑鼠移過去後 第二層出現在上面顯示出來 現在好像變成被包在裡面了 請問哪邊出問題了 css接觸沒很久請多幫忙 再次感謝!! *** 我放到jsfiddle了 這是沒在ul裡面加style的正常的情況 http://jsfiddle.net/yoshjibo/fgu2nd1y/1/ 但這樣第一大類項目太多了 在ul加了style以後 出現捲軸了 但第二層卻被蓋住了 http://jsfiddle.net/yoshjibo/s5weanob/1/ 感謝回覆 請再指點一下 *** 找到解法 http://css-tricks.com/popping-hidden-overflow/ 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.19.47 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1414401855.A.3F5.html
leochen0818: 看無,有示意圖嗎?另外,要不要避免一下行內樣式? 10/27 17:41
bbcust: 請丟fiddle 10/27 17:44
※ 編輯: yoshjibo (118.165.8.185), 10/27/2014 19:32:27
leochen0818: 首先,是你自己說overflow-x: hidden的,下一層當然 10/28 10:50
leochen0818: 當然出不來,因為超過第一層寬度的都會被隱藏 10/28 10:51
leochen0818: 第二,如果拿掉overflow-x,你會發現下一層出來了, 10/28 10:51
leochen0818: 但是會出現橫向卷軸,因為也是你說overflow要AUTO的 10/28 10:53
leochen0818: 所以基本上,因為有overflow的關係,東西都會在第一 10/28 10:58
leochen0818: 層裡面,不會超出來,所以我個人覺得,解決辦法有二 10/28 10:59
leochen0818: 一是改HTML結構,二是改變想呈現的效果 10/28 11:00
※ 編輯: yoshjibo (118.163.19.47), 10/29/2014 17:29:22