0

我正在使用 popover,目前,它是一个普通的矩形,位于 box 的正下方。我想添加一个像指针这样的小三角形,让它看起来更漂亮,并且可能添加边距或填充顶部,这样它就会从盒子里放一点,就像这样

这就是我所说的弹出框

 <Grid item xs={12} sm={3} ref={divToRef}>
   <Box pl={2} pt={1}>
     <Typography className={classes.weight} variant="caption" color="textSecondary">
       {t('search to').toUpperCase()}
     </Typography>
   </Box>
   <Box pl={1}>
     <AutoCompleteInput //some codes here />
   </Box>
   <Popover id="tofield" open={openTo} anchorEl={divToRef.current} onClose={handleClose} anchorOrigin={{
                            vertical: 'bottom',
                            horizontal: 'center',
                          }} transformOrigin={{
                            vertical: 'top',
                            horizontal: 'center',
                          }}>
     <Typography className={classes.popoverText}>
       Please enter destination
     </Typography>
   </Popover>
 </Grid>

我用 withStyles 修改了论文

const Popover = withStyles((theme) => ({
  root: {},
  paper: {
    backgroundColor: '#e02020',
    boxShadow: '0 20px 15px -20px rgba(0, 0, 0, 0.15)',
    borderRadius: theme.spacing(1),
    padding: theme.spacing(2),
  },
}))(MuiPopover)

如何添加小三角形并调整 popover 的 transformOrigin 的位置(可能添加填充/边距)?

4

1 回答 1

0

您可以通过将其添加到 CSS 中来做到这一点:

.tooltip-top::before {
  content: '';
  position: absolute;
  display: block;    
  width: 0px;        
  left: 50%;
  top: 0;
  border: 15px solid transparent;
  border-top: 0;
  border-bottom: 15px solid #5494db;
  transform: translate(-50%, calc(-100% - 5px));
}

您可以使用这些字段来自定义箭头的位置、宽度以及箭头的高度。看看这个CodePen

于 2020-10-19T15:23:57.433 回答