前端 - 誰來解釋下這兩個 CSS selector 區別
問題描述
錯誤代碼:
input { padding: 4px 0; // https://css-tricks.com/almanac/selectors/p/placeholder-shown/ &:focus:not(:placeholder-shown) + .input__clear, &.input--filled:focus + .input__clear { opacity: 1; }}
正確代碼:
input { padding: 4px 0; // https://css-tricks.com/almanac/selectors/p/placeholder-shown/ &:focus:not(:placeholder-shown) + .input__clear { opacity: 1; } /* !!! 不能和上面的合并成一行,會導致下面的選擇器無法匹配 */ &.input--filled:focus + .input__clear { opacity: 1; }}
demo 見https://jsfiddle.net/mLz7rajf/3/https://jsfiddle.net/mLz7rajf/5/正確情況應該是在不支持:placeholder-shown的瀏覽器(比如Firefox, 或者將placeholder-shown,隨便改成一個無法識別的偽類),輸入內容后顯示 Clear
問題解答
回答1:貌似是瀏覽器bug
相關文章:
1. javascript - 循環嵌套多個promise應該如何實現?2. mysql優化 - 關于mysql分區3. css3 - rem布局下,用戶瀏覽器的最小字號是12px怎么辦?4. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出5. html5 - 如何實現帶陰影的不規則容器?6. objective-c - iOS開發支付寶和微信支付完成為什么跳轉到了之前開發的一個app?7. 前端 - IE9 css兼容問題8. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應9. vue.js - vue 打包后 nginx 服務端API請求跨域問題無法解決。10. css - 移動端字體設置問題
