前端 - 谁来解释下这两个 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. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!2. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集3. docker网络端口映射,没有方便点的操作方法么?4. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?5. macos - mac下docker如何设置代理6. golang - 用IDE看docker源码时的小问题7. angular.js - ng-repeat嵌套的directive link函数未执行8. dockerfile - 为什么docker容器启动不了?9. debian - docker依赖的aufs-tools源码哪里可以找到啊?10. angular.js - angular 配置代理proxy.conf.json后报错,页面返回500internal server error?