styled-component 按钮的endIcon 样式如何?
Posted
技术标签:
【中文标题】styled-component 按钮的endIcon 样式如何?【英文标题】:How style endIcon of styled-component button? 【发布时间】:2021-12-30 12:55:54 【问题描述】:这是我的简单样式按钮
import styled from 'styled-components';
import Button from '@material-ui/core/Button';
import ArrowForwardiosIcon from '@material-ui/icons/ArrowForwardIos';
const MyButton = styled(Button)`
font-size: 11px;
`;
<MyButton
variant="outlined"
color="primary"
size="small"
disableElevation
endIcon=<ArrowForwardIosIcon />
>
CLICK ME
</MyButton>
那么我该如何改变 endIcon 的大小。我可以在 Chrome 开发工具中更改它,但不知道要添加到 MyButton 定义中的内容。假设它在样式按钮定义中应该是这样的:
&.MuiButtonendIcon
color: green;
font-size: 15px;
【问题讨论】:
【参考方案1】:您可以通过定位 svg
元素并像这样设置其 font-size
属性来设置单个 endIcon 的样式
const MyButton = styled(Button)`
& .MuiButton-endIcon svg
font-size: 50px;
color: green;
`;
【讨论】:
对不起,它不起作用 理想情况下,它应该可以工作,请参考这个具有相同代码的codesandbox.io/s/vigorous-edison-2py6u?file=/src/App.js 是的..在您的示例中有效..似乎按钮类在我的代码中没有得到解决:.MuiButtonendIcon-0-56-59【参考方案2】:我是这样解决的:
const MyButton = styled(Button)`
*:first-of-type svg
font-size: 50px;
color: green;
`;
【讨论】:
以上是关于styled-component 按钮的endIcon 样式如何?的主要内容,如果未能解决你的问题,请参考以下文章
使用 React && styled-components 中的 State 从两个不同的按钮触发侧边栏
如何使用 material-ui 和 styled-components 定位按钮库
使用 Typescript 将 props 传递给由 styled-components 包装的 material-ui 按钮
在 react-native 中使用 styled-components 不会覆盖样式
如何使用 styled-components 将 prop 传递给 Material-UI 组件
Styled-components vs Emotion - 如何在 Styled-components 上重新应用 css`style` 函数