前端 - 谁来解释下这两个 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. html5 - h5写的app用的webview,用手机浏览器打开不显示?2. javascript - node服务端渲染的困惑3. javascript - 百度echarts series数据更新问题4. php - 第三方支付平台在很短时间内多次异步通知,订单多次确认收款5. mysql - 一个表和多个表是多对多的关系,该怎么设计6. 请教一个python字符串处理的问题?7. 我在导入模板资源时遇到无法显示的问题,请老师解答下8. Mysql && Redis 并发问题9. mysql scripts提示 /usr/bin/perl: bad interpreter10. mysql新建字段时 timestamp NOT NULL DEFAULT ’0000-00-00 00:00:00’ 报错
