css - 将样式组件道具与下一个邻居选择器结合起来不起作用
问题描述
我正在从活动类切换到将道具传递给样式化组件并遇到了一个小问题。道具传递工作正常,但可能是导致麻烦的css。
在过渡到道具方式之前,这部分完美地工作:
.element.is-active + .element:before {}
我假设的样式化组件道具版本看起来像这样
const Component = styled.div<IComponent>`
${({ isActive }) =>
isActive
? `
+ &:before {
content: none;
}
`
: ''}
}
或者我尝试过这种方式,但都没有工作:
+ &:before {
content: ${({ isActive }) => isActive ? 'none' : ''};
}
解决方案
刚刚通过反复试验找到它:&
这里的标志+ &:before {
是错误的。
我认为在这种情况下,SC/css 抓住了活动元素而不是普通元素,可能会导致像这样的 css 选择器
.element.is-active + .element.is-active:before
所以我最终得到:
+ :before {
content: ${({ isActive }) => isActive ? 'none' : ''};
}
推荐阅读
- firebase - 无法在 Flutter 中集成 Firebase - MissingPluginException
- r - 3个日期之间的间隔,ifelse有3个选项
- python-3.x - 在 a, b = 1, 2 期间如何使用内存?
- python - 使用参数 [] 是导致此问题的原因还是后端问题?
- javascript - 如何使不间断的空间可见?也许通过 CSS,(不使用另一个字符替换不间断空格字符)
- python - 如何在 Python 中使用相对路径
- firebase - BUILD FAILED in 1m 9s Finished with error: Gradle task assembleDebug failed with exit code 1
- identityserver4 - 如何使用 IdentityServer4 从苹果登录中获取名字和姓氏?
- javascript - 是否可以使用多个记录调用 oDataModel 方法“创建”/“更新”?
- wordpress - 我们可以在 Wordpress 网站上获取访问者历史记录吗?