我想向材质 UI 显示组件CircularProgress
尽可能大,以几乎填充未知大小的父div。比方说,大小应该是0.8 * min(parent_height, parent_width)
.我试着用max-width
什么鬼混,但没有成功。
我可以使用一些useDimension
钩子并测量父母的大小,但我认为这是最后的手段。一定有一个纯粹的CSS解决方案,对吗?
这个派对有点晚了,但我有一个类似的问题,但没有父约束(我有一个特定的父大小(。对于任何在更简单的情况下找到这个问题的人,您可以使用:
<CircularProgress size="1rem" />
就我而言
<CircularProgress size="1rem" color="inherit" />
这样的东西对你有用吗?这将依赖于为父级分配固定的宽度和高度(在我的代码中缺少(,但您的问题暗示您就是这种情况。
export default function Demo() {
const [parentSize, setParentSize] = useState(0);
const parentRef = useRef(null);
useEffect(() => {
const { clientHeight, clientWidth } = parentRef.current;
setParentSize(Math.min(clientHeight, clientWidth));
}, []);
return (
<div ref={parentRef}>
<CircularProgress size={0.8 * parentSize} />
</div>
);
}
我不是 100% 确定,但我认为 CSS 元素查询也可以解决这个问题
这不可能是官方方式。但是,当一切不正常时,您可以将其用作一个小技巧。
<CircularProgress style={{padding: "10px"}} />
调整填充以调整大小并调整边距以定位。