我目前正在改變選定文本的默認背景顏色。這工作得很好::: - moz-selection可能的bug
::selection {
background:#B6D0FA;
}
::-moz-selection {
background:#B6D0FA;
}
我以爲我可以通過將它們合併這樣節省一些行:
::selection, ::-moz-selection {
background:#B6D0FA;
}
但它不工作在Firefox。
出了什麼問題?
我目前正在改變選定文本的默認背景顏色。這工作得很好::: - moz-selection可能的bug
::selection {
background:#B6D0FA;
}
::-moz-selection {
background:#B6D0FA;
}
我以爲我可以通過將它們合併這樣節省一些行:
::selection, ::-moz-selection {
background:#B6D0FA;
}
但它不工作在Firefox。
出了什麼問題?
Firefox無法解析::selection
,這就是爲什麼它首先需要::-moz-selection
。在遇到::selection
時,整個塊將被忽略。
根據the spec:
當用戶代理無法分析選擇器(即,它不是有效的CSS 2.1),它必須忽略選擇器和下述聲明塊(如果有的話),以及。
爲了在Firefox中正確呈現,您必須保留單獨的行。
請記住,::selection
是removed from the CSS3 draft entirely。
一個應該能夠合併每個可能的組合,用逗號分隔它們,並給出'background:#B6D0FA;',而不必擔心整個代碼不能正常工作,因爲它不能解析一個單一的CSS規則 – ajax333221 2011-12-30 05:02:14
@ ajax333221儘可能多地希望它,這不是一個好主意。如果CSS無效,那麼用戶代理停止解析是有充分理由的。僅爲特定的草稿實施創建變通辦法會相當剽竊,違背標準的整體思路。 – 2011-12-30 05:06:18
@ ajax333221:如果沒有使用不受支持的CSS選擇器,就不必擔心他們的代碼無法正常工作。 – animuson 2011-12-30 05:50:04
我正在使用FF 5.0.1 – ajax333221 2011-12-30 04:58:12