前端 - 谁来解释下这两个 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. docker绑定了nginx端口 外部访问不到2. python - 使用pandas的resample报错3. 网页爬虫 - python 爬取网站 并解析非json内容4. python - flask post提交timestamp不能作为参数,这是为什么?5. android - 类似于微信朋友圈图片这样的是在listview中嵌套gridview还是动态加入多个imageview呢?6. docker-machine添加一个已有的docker主机问题7. html - 类似这样的弹层用什么插件写比较好?8. vue.js - vue-router开启HTML5的history模式后nginx配置9. html5 - 图片一般一怎么的形式存放在服务器中的?10. node.js - mongodb查找子对象的名称为某个值的对象的方法

网公网安备