Наконец-то я понял вашу проблему. Стилизованный компонент путает с первыми двумя собственными тегами p
(с моей точки зрения), и именно поэтому CSS не применяется.
Я буду использовать обходной путь, подобный этому:
const Text = styled.p`
font-size: 12px;
color: blue;
&:nth-child(3) {
margin-bottom: 20px;
color: red !important;
}
`;
Делая это, вы выбираете третьего потомка (который включает первые два тега p
) для CSS
ИЛИ, вы можете сделать что-то вроде этого: добавить имя класса для тега и дать CSS для этого класса.
const Text = styled.p`
font-size: 12px;
color: blue;
&.colors {
margin-bottom: 20px;
color: red !important;
}
`;
<div>
<p>I am just regular text</p>
<p>Me too</p>
<Text className="colors">Hello Joe</Text>
<Text>Goodbye</Text>
</div>
Вот демоверсия
Надеюсь, это поможет:)