2015-06-16 8 views
2

爲什麼span元素可點擊,即使它位於select元素的「後面」。爲什麼跨度位於選擇可點擊的後面?

jsfiddle

span { 
 
    color: red; 
 
    display: block; 
 
} 
 
select { 
 
    font-weight: bold; 
 
    font-size: 15px; 
 
    display: block; 
 
    margin-top: -20px; 
 
}
<span>test test test</span> 
 
<select> 
 
    <option></option> 
 
    <option>hello world</option> 
 
</select>

+1

這不是它的背後,則是在它的面前,否則你不會看到它的內容 – GolezTrol

+0

我認爲這更多的問題是'爲什麼選擇後面的選擇,儘管它是在DOM' –

+1

傢伙的順序 - 選擇第二個選項選擇 - 你會看到選擇顯然是頂部 –

回答

1

因爲第一個選項是空

澄清一點的是在前面

span { 
 
    color: red; 
 
    display: block; 
 
    background-color: blue; 
 
    cursor: help; 
 
} 
 
select { 
 
    font-weight: bold; 
 
    font-size: 15px; 
 
    display: block; 
 
    margin-top: -20px; 
 
}
<span>test test test</span> 
 
<select> 
 
    <option></option> 
 
    <option>hello world</option> 
 
</select>

但選擇的Hello World和它的行爲確定

也很有趣:(看到光標變化)

span { 
 
    color: red; 
 
    display: block; 
 
    background-color: blue; 
 
    cursor: help; 
 
} 
 
select { 
 
    font-weight: bold; 
 
    font-size: 15px; 
 
    display: block; 
 
    margin-top: -20px; 
 
}
<span>test test test</span> 
 
<select> 
 
    <option>........</option> 
 
    <option>hello world</option> 
 
</select>

+1

它看起來像負邊緣向上拉選擇框,結合'display:block'改變正常流量(它不依賴於'select')http ://jsfiddle.net/k2nv8oyd/2/ – maioman

+0

@maioman在你的情況下,span是在div的前面,它*應該*是可點擊的。在這個問題上,它是在後面...(http://jsfiddle.net/k2nv8oyd/3/ – vals

+0

跨度在前面(都在問題和我的小提琴);我無法理解的是爲什麼跨度的背景是在div後面,而文本是上面.. http://jsfiddle.net/k2nv8oyd/6/(與'顯示:塊') – maioman