如何使 gif 响应式响应?

Posted

技术标签:

【中文标题】如何使 gif 响应式响应?【英文标题】:How do I make a gif responsive? 【发布时间】:2021-07-03 14:10:51 【问题描述】:

我想制作一个响应式 gif 图像以调整其大小以覆盖每个移动设备的宽度。这是因为出于某种原因,我可以在某些 ios 设备上自动播放视频,所以我想将视频转换为 gif。现在,我怎样才能让它响应?我真的不在乎高度,更多的是宽度问题。

到目前为止,这是我的作品:

.box 
  width: 500px !important;
<div class="box">
  <img src="examplegif"  style="width:340px;height:170px;">
</div>

【问题讨论】:

这能回答你的问题吗? how do i make the image take the full width of the screen? (html, css) 如果您有任何方法可以避免,请不要使用!important 使用宽度:100%;高度:自动;为您的图像并将 .box 类的宽度更改为 100%,请参阅 Tanner Dolby 或 StepUp 的答案,它更高效、更干净 【参考方案1】:

您可以通过将以下类应用于您的图像来使您的图像具有响应性。

CSS:

.responsive 
    max-width: 100%; 
    width: auto; 
    height: auto;

和 HTML:

<img src="ypurgif" class="responsiveImage" />        

【讨论】:

【参考方案2】:

在这种 gif 的情况下,您必须为图像或视频设置最大宽度。

<style>
    .box 
        display: flex;
        justify-content: center;
    
    img 
        max-width: 100%;
        height: auto;
    
</style>
<html>
    <body>
        <div class="box">
            <img src="https://media.giphy.com/media/VRhsYYBw8AE36/giphy.gif" >
        </div>
    </body>
</html>

【讨论】:

【参考方案3】:

第一步是从父容器.box 中删除width: 500px。这个明确的宽度限制了图像能够填充整个视口,因为它的父容器宽度只有 500 像素。接下来,在用户代理样式表的&lt;body&gt; 上有一个 8 像素的默认 margin。在正文样式中使用 margin: 0 将确保您的内容周围没有任何多余的空间。

要使 GIF 响应并填充整个视口宽度,您可以为 .box 中嵌套的 &lt;img&gt; 元素添加一些样式。我为图像分配了 100% 的 widthmax-width,以确保它们占用所有可用空间。对于图像高度,使用height: 100% 确保它是包含块高度的100% 或height: auto 让浏览器计算并选择指定元素的高度。试试这个。

body 
  margin: 0;
  padding: 0;


.box
 width: auto;


.box img 
  max-width: 100%;
  width: 100%;
  height: auto; /* vary this to your needs ie auto, 100%, etc */
  margin: 0 auto;
<div class="box">
  <img src="https://media.giphy.com/media/ZqlvCTNHpqrio/giphy.gif" >
</div>

【讨论】:

以上是关于如何使 gif 响应式响应?的主要内容,如果未能解决你的问题,请参考以下文章

响应式图片

如何使元素响应式在左侧对齐

带有 GIF 的无 JS 响应式图像在 :hover 上显示

如何使 Ant Design 表响应式

如何使 Adsense 广告与响应式网站一起使用

了解响应式设计,一张GIF图就够了