首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用material-ui cardActionArea的默认悬停和点击效果

问如何禁用material-ui cardActionArea的默认悬停和点击效果
EN

Stack Overflow用户
提问于 2021-02-12 00:48:29
回答 2查看 1.1K关注 0票数 0

正如你在这里看到的,https://material-ui.com/components/cards中有一张蜥蜴照片的卡片样本。当你将鼠标悬停在cardActionArea上时,它将根据主题变得更暗(更亮),当你点击卡片时,图片将从鼠标指针周围开始变得更亮(更暗)。现在我有两个问题: 1-如何改变点击效果的颜色?例如,当用户点击时,我希望照片变成红色(改变色调) 2-我已经实现了我自己的悬停效果,当你悬停时,卡片会上升一点(代码如下)。如何禁用更改图片颜色的默认悬停效果?

代码语言:javascript
复制
const useStyles = makeStyles({
    root: {
        width: 345,
        margin: 5,
        '&:hover': {
            transform: 'translateY(-5px) !important'
        },
    },
    media: {
        maxHeight: 350,
        marginBottom:-3
    },
});
EN

回答 2

Stack Overflow用户

发布于 2021-02-12 01:40:13

您应该能够禁用指针事件,这将停止默认的悬停效果(请注意,这也将停止onClick事件,因为它将禁用所有鼠标事件):

代码语言:javascript
复制
const useStyles = makeStyles({
    root: {
        width: 345,
        margin: 5,
        '&:hover': {
            pointerEvents: 'none',
            transform: 'translateY(-5px) !important'
        },
    },
    media: {
        maxHeight: 350,
        marginBottom:-3
    },
});
票数 0
EN

Stack Overflow用户

发布于 2021-02-12 05:14:45

​

代码语言:javascript
复制
const {
  Card,
  CardActionArea,
  CardActions,
  CardContent,
  CardMedia,
  Button,
  Typography,
  makeStyles
} = MaterialUI;

const useStyles = makeStyles((theme) => ({
  root: {
    maxWidth: 345,
    transition: theme.transitions.create("transform", {
      easing: theme.transitions.easing.easeInOut,
      duration: theme.transitions.duration.standard
    }),
    "&:hover": {
      transform: "translateY(-5px)"
    }
  },
  focus: {
    "&&&": {
      opacity: 0
    }
  },
  ripple: {
    color: "red"
  }
}));

function ImgMediaCard() {
  const classes = useStyles();

  return (
    <Card className={classes.root}>
      <CardActionArea
        classes={{ focusHighlight: classes.focus }}
        TouchRippleProps={{ className: classes.ripple }}
      >
        <CardMedia
          component="img"
          alt="Contemplative Reptile"
          height="140"
          image="https://material-ui.com/static/images/cards/contemplative-reptile.jpg"
          title="Contemplative Reptile"
        />
        <CardContent>
          <Typography gutterBottom variant="h5" component="h2">
            Lizard
          </Typography>
          <Typography variant="body2" color="textSecondary" component="p">
            Lizards are a widespread group of squamate reptiles, with over 6,000
            species, ranging across all continents except Antarctica
          </Typography>
        </CardContent>
      </CardActionArea>
      <CardActions>
        <Button size="small" color="primary">
          Share
        </Button>
        <Button size="small" color="primary">
          Learn More
        </Button>
      </CardActions>
    </Card>
  );
}

ReactDOM.render(<ImgMediaCard />, document.getElementById('root'))
代码语言:javascript
复制
<script src="https://unpkg.com/react@latest/umd/react.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@latest/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@material-ui/core@latest/umd/material-ui.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/babel-standalone@latest/babel.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" />
<div id="root"></div>

​

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

https://stackoverflow.com/questions/66159035

复制
相关文章

相似问题

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