Material UI有一个用于Card的组件,其中用于Media的组件有CardMedia。Mui网站提供了使用CardMedia作为img组件的图像示例。
https://mui.com/material-ui/react-card/#complex-interaction
我想利用图片html标签,而不是img,但MUI网站不提供一个例子
我试过下面的例子,它确实生成图片标签,但不知道如何在这个源代码和img标签。
下面试过了
<CardMedia
component="picture"
height="140"
image="/static/images/cards/contemplative-reptile.jpg"
alt="green iguana"
/>
想要生成
<picture>
<source srcset="logo-768.png, logo-768-1.5x.png 1.5x" />
<img src="logo-320.png" alt="logo" />
</picture>
2条答案
按热度按时间cl25kdpy1#
MUI
CardMedia
component="picture"
prop/value的用法在网站上没有过多的文档,但它的用法可以在Github上的MUI测试中看到。摘自MUI CardMedia文档
默认情况下,我们使用元素和背景图像的组合来显示媒体。在某些情况下可能会有问题,例如,您可能希望显示视频或响应图像。* 在这些用例中使用
component
prop。*component
prop只是告诉MUI它应该使用什么根元素/组件作为CardMedia
组件的底层元素(与默认的div
元素相反)--然后像通常为该元素提供子元素一样。(video
、picture
等)本质上,您只需将组件属性设置为
picture
,并将source
和img
元素 Package 为CardMedia
的子元素,如下所示:生产:
工作代码沙箱:https://codesandbox.io/s/infallible-dewdney-e1tuy2?file=/demo.js:410-754
vybvopom2#
如果你想生成你自己的卡片,你就必须写你自己的代码,设计系统的全部意义就在于使用系统。MUI库的某些部分是可定制的,但不是全部,这似乎是其中之一。你有两个选择,要么改变你的MUI版本,要么编写你自己的组件。
下面是如何将卡与图像介质一起使用的最小示例