css - Material-UI 全局覆盖:如何定位内部元素?
问题描述
我已经为 Material UI Switch 创建了一个全局样式,并希望为小的变化覆盖 , 等的track
样式。thumb
我可以使用sizeSmall
该类来定位根元素,但是我认为我采用错误的方法来修改内部元素。
我不确定我是否应该使用& $sizeSmall
inside of 之类的东西,track
反之亦然。
代码沙箱: https ://codesandbox.io/s/material-demo-forked-vkdsh?file=/theme.js
相关主题覆盖:
MuiSwitch: {
root: {
width: 96,
height: 40,
padding: 0,
margin: 8,
borderRadius: 48,
boxShadow:
"inset -3px -3px 7px #FFFFFF, inset 3px 3px 7px rgba(156, 156, 156, 0.48);"
},
sizeSmall: {
width: 60,
height: 18,
borderRadius: 9,
padding: 0
},
switchBase: {
marginTop: 7,
marginLeft: 12,
padding: 1,
"&$checked, &$colorPrimary$checked, &$colorSecondary$checked": {
transform: "translateX(46px)",
color: "#fff",
"& + $track": {
opacity: 1,
border: "none",
background:
"linear-gradient(172.54deg, #2B8CFF -34.02%, #0354CE 124.23%);"
}
}
},
thumb: {
width: 24,
height: 24,
boxShadow:
"2px 1px 8px rgba(185, 185, 185, 0.3), inset 0px -1px 1px rgba(95, 95, 95, 0.4);"
},
track: {
margin: "auto 16px",
height: 8,
borderRadius: 9,
border: "1px solid #D3D4D5",
backgroundColor: "#fafafa",
opacity: 1,
transition:
"background-color 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms"
}
},
解决方案
您可以在此处查看 material-ui 如何处理此问题,并对您尝试做的事情有更准确的方法:)
推荐阅读
- typescript - 保持 Typescript 库 API 声明与其实现一致的方法?
- node.js - Gitlab CI/CD - 在 Azure Linux WebApp 上部署节点应用程序
- android - 在板载屏幕上显示视频,无需将视频文件保留在 apk 上
- c# - 如何在表上填充数据 C# wpf
- youtube - YouTube 数据 API 视频时长延长 1 秒
- string - 是否可以在 VB Net 中的 Double Var 中添加 0
- visual-studio-code - 如何使用环境变量为 pytest 配置 VS 代码
- mongodb - 如何使用logstash将mongodb集合与elasticseatch索引同步?
- docker - 如何在 shell 脚本中使用 docker env 文件?
- python - Python解析文件删除部分