首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高级材料造型-ui

高级材料造型-ui
EN

Stack Overflow用户
提问于 2019-09-19 22:06:55
回答 1查看 1.5K关注 0票数 4

我开始学习资料-ui,并在SandBox:https://codesandbox.io/s/eager-ride-cmkrc中创建一个简单的应用程序。

jss的风格对我来说是不寻常的,但是如果你帮我做这两个简单的练习,我就会明白一切。

首先:我希望将ButtonLeftButtonRight的公共属性合并到新的类中,并对其进行扩展:(https://github.com/cssinjs/jss-extend#use-rule-name-from-the-current-styles-object)

代码语言:javascript
复制
ButtonControll: {
    display: "none",
    position: "absolute",
    fontSize: "24px"
},
ButtonLeft: {
    extend: 'ButtonControll',
    left: "0",
},
ButtonRight: {
    extend: 'ButtonControll',
    right: "0",
}

但它不起作用

第二:当您在容器上悬停时,我希望箭头出现,所以我写了以下内容:

代码语言:javascript
复制
"&:hover .MuiIconButton-root": {
    display: "block"
}

问题:MuiIconButton-root,它是所有IconButtons的基本className?但我想要这样的东西:

代码语言:javascript
复制
"&:hover ButtonLeft": {
    display: "block",
    backgroundColor: 'red' 
},
"&:hover ButtonRight": {
    display: "block",
    fontSize: '50px' 
}

请帮助我完成这两个简单的任务,然后我会理解所有的事情=)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-19 22:33:33

默认情况下,jss-plugin-extend不包括在Material中。

您可以在这里找到包含JSS插件的列表:https://material-ui.com/styles/advanced/#jss-plugins

您可以按照添加额外插件的说明进行操作,但也可以通过其他方式实现相同的效果。

您可以将公共属性放在对象中:

代码语言:javascript
复制
const commonButton = {
  display: "none",
  position: "absolute",
  fontSize: "24px"
};
export default props => ({
  ButtonLeft: {
    ...commonButton,
    left: "0",
  },
  ButtonRight: {
    ...commonButton,
    right: "0",
  }
});

或者,由于有一个按钮在结构上的root规则,所以可以通过root中的嵌套规则应用所有常见的样式。

代码语言:javascript
复制
export default props => ({
  root: {
    width: "250px",
    height: "182px",
    alignItems: "center",
    justifyContent: "space-between",
    border: "1px solid black",
    position: "relative",
    "& $ButtonLeft, & $ButtonRight": {
      display: "none",
      position: "absolute",
      fontSize: "24px"
    },
    "&:hover $ButtonLeft, &:hover $ButtonRight": {
      display: "block"
    }
  },
  ButtonLeft: { left: "0" },
  ButtonRight: { right: "0" }
});

上面的示例利用了默认情况下包含在Material中的jss-plugin-nested ()。这还显示了hover引用的适当语法。

有关答复:

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58019444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档