【问题标题】:styled-components: parent styles has more priority then childstyled-components:父样式优先于子样式
【发布时间】:2018-01-18 12:21:46
【问题描述】:

image

export const LogOutButton = styled.button`
  display: inline-block;
  ....
`;
export default styled(ThemedApp)`
  ....
  button {
    ....
    display: flex;
    ....
  }
`;

如你所见,Logout button(has class gBuhXv) 有display: flex,而不是inline-block,因为父级的优先级(ThemedApp, .jCe...) 更大

导致这种情况的规则是 p.column { text-align: right; } 可以被 body p.column { text-align: left; } 覆盖,因为它更具体

这是正确的行为,但不是我所期望的,如何使注销按钮的优先级更大?

【问题讨论】:

    标签: css reactjs styled-components


    【解决方案1】:

    问题是

    const globalStyles = styled.div`
    p {
      color: ${props => props.theme.somecolor};
    }
    a {
      color: ${props => props.theme.somecolor};
    }`
    

    样式组件的正确用法。

    相反,我必须定义组件并扩展它们:

    const P = styled.p`
      color: ${props => props.theme.somecolor};
    `
    const A = styled.A`
      color: ${props => props.theme.somecolor};
    `
    const CustomA = A.extend`
      color: mycolor;
    `
    

    【讨论】:

    • 如果您可以将identical answers 发布到您的两个问题中,则表明这些问题彼此重复。否则,您应该针对实际提出的问题调整答案。
    • 是的,它们是重复的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 2021-09-19
    • 2018-09-06
    • 2018-10-20
    • 2021-11-01
    • 2017-12-15
    相关资源
    最近更新 更多