前端 - 谁来解释下这两个 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. mysql怎么查询树形结构的数据2. 这是什么情况???3. python - django 项目的 migrations 目录是否应该提交到 git4. mysql sql where id in(25,12,87) 结果集如何用按照 25 12 87排序?5. mysql索引的疑问6. mysql - 一个sql的问题7. web服务器 - ubuntu下布置apache加wsgi加python8. 登录界面URL在服务器上无法找到9. mysql - 仅仅只是把单引号与反斜杠转义不用prepare statement能否避免sql注入?10. python - 多态调用方法时却显示bound method...

网公网安备