前端 - 谁来解释下这两个 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. css3径向渐变怎么写呢?2. javascript - html5多个label中其中一个触发change,如何判断是哪一个出发了change3. java - tomcat服务经常晚上会挂,求解?4. mysql按照时间热度排序5. javascript - Nodejs服务器中 应该何时res.end()呢?6. javascript - vue2如何动态生成checkbox默认选中,获取数据7. javascript - 在vuejs中如何根据变量去引用不同的css样式呢8. 使用weex扩展html5的项目存在ios不同版本的兼容性9. pdo_mysql 值自增写法10. 网页爬虫 - python爬虫用BeautifulSoup爬取<s>元素并写入字典,但某些div下没有这一元素,导致自动写入下一条,如何解决?

网公网安备