注:以前似乎有一個same problem,但我希望以更好的方式提出問題,獲得答案標記爲已解決。如何使用CSS繪製真正的透明邊框?
簡而言之,透明元素邊框並不是真正透明的,因爲它們採用元素背景的顏色,而不是不可見的事件,儘管它被繪製爲「外部邊框」。我怎樣才能用CSS來繪製真正的透明邊框?
爲什麼我要這個?
因爲我有CSS menu with drop down on hover。在主菜單和子菜單之間,需要在兩者之間存在空隙。間隙導致懸停失去焦點,從而關閉菜單。可能還有其他方法可以做到這一點,但如果可能的話,透明邊框將會很整齊。
HTML
<ul id="root">
<li>Item 1
<ul><li>Subitem 1</li></ul>
</li>
<li>Item 2
<ul><li>Subitem 2</li></ul>
</li>
</ul>
CSS
ul, li {
list-style: none;
margin: 0; padding: 0;
color: #fff;
}
ul ul { background-color: red; }
ul#root > li {
background-color: blue;
display: inline-block;
position: relative
}
ul#root > li > ul {
position: absolute;
display: none;
/* margin-top: 10px; want to have gap but the hover will lose focus*/
border-top: 10px solid green; /* if only this is transparent */
}
ul#root > li:hover > ul {
position: absolute;
display: block;
}
你有沒有試過'邊框頂部:10px實心透明'?這不是你想要的嗎?你爲什麼說透明邊框不透明?你想要什麼?看,這是透明的,不是嗎? http://jsfiddle.net/gkbcj9sr/3/ – Cyberdelphos 2014-09-03 05:51:47
@Cyberdelphos這很尷尬。小提琴是不正確的。我現在編輯了代碼。 – Jake 2014-09-03 07:21:37