aba*_*haw 2 html javascript css reactjs styled-components
想象一下我有以下样式:
color: black;
border: 1px solid white;
Run Code Online (Sandbox Code Playgroud)
我想将它们都应用于两个不同类型的元素:
const SomeImg = styled.img`
margin: 2em;
`;
const SomeDiv = styled.div`
margin: 3em;
`;
Run Code Online (Sandbox Code Playgroud)
如何使这两个元素扩展这些样式?
如果两个<div>或两个都足够容易<img>。我可以做:
const ExtendMe = styled.div`
color: black;
border: 1px solid white;
`;
const SomeDiv = styled(ExtendMe)`
margin: 2em;
`;
const OtherDiv = styled(ExtendMe)`
margin: 3em;
`;
Run Code Online (Sandbox Code Playgroud)
您可以从样式化组件中使用prop“ as”,它们将更改组件的html标签:https : //www.styled-components.com/docs/api#as-polymorphic-prop
下面是您想要的示例:
const ExtendMe = styled.div`
color: black;
border: 1px solid white;
`;
const SomeImg = styled(ExtendMe).attrs({
as: "img"
})`
margin: 2em;
`;
const SomeDiv = styled(ExtendMe)`
margin: 3em;
`;
Run Code Online (Sandbox Code Playgroud)
您可以在以下网址看到:https : //codesandbox.io/embed/mj3j1xp6pj?fontsize=14
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |