css 如何旋转菜单列表中的项文本以便可以看到溢出

p1tboqfb  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(126)

假设我有一个TextMenuItem,它使用来自mui的MenuItem,它是下拉搜索〉简单列表菜单〉固定大小列表〉TextMenuItem链中的一个项,其中TLDR是一个包含文本项的可搜索下拉组件。
当文本对于FixedSizeList(一个容器)来说太长时,我们隐藏溢出,很好...但是当文本太长时,我们看不到文本。
那么我能做些什么呢?PM提出的解决方案是从已经弹出的菜单中弹出项目文本,但这似乎不对。
鼠标悬停时,是否有一种简单的方法来读取?旋转?旋转?文本,以便可以读取菜单项文本,而不会从弹出菜单中弹出?

export type TextMenuItemType = FunctionComponent<ITextMenuItemProps>;
const TextMenuItem: TextMenuItemType = (props) => {
  const { text, selected, onSelect } = getTextMenuItemProps(props);
  const styles = useTextMenuItemStyles();

  return (
    <MenuItem sx={styles.container} selected={selected} onClick={onSelect}>
      <Typography sx={styles.label}>{text}</Typography>
    </MenuItem>
  );
};

const useTextMenuItemStyles = () => {
  return css({
    container: {
      minHeight: 'auto',
    },
    label: {
      whiteSpace: 'nowrap',
      overflow: 'hidden',
      textOverflow: 'ellipsis',
    },
  });
};
nhaq1z21

nhaq1z211#

这是css的是用来让文本旋转悬停,它不是理想的,因为它旋转所有大小的输入。理想的情况下,希望只旋转上下文溢出。
不理想,寻找更好的解决方案。

container: {
      minHeight: 'auto',
      overflow: 'hidden',
    },
    label: {
      whiteSpace: 'nowrap',
      overflow: undefined,
      overflowWrap: 'break-word',
      '@keyframes scrollText': {
        '0%': { transform: 'translate(0%, 0)' },
        '100%': { transform: 'translate(-100%, 0)' },
      },
      '&:hover': {
        animation: 'scrollText 4s linear infinite',
      },
    },

相关问题