首页 > 其他分享 >怎么使图片宽度自适应呢?

怎么使图片宽度自适应呢?

时间:2024-11-29 13:23:35浏览次数:6  
标签:容器 100% 适应 width 宽度 原始 图片

在前端开发中,使图片宽度自适应有几种常见的方法:

1. 使用 width: 100%:

这是最简单直接的方法。设置 width: 100% 会使图片的宽度与其父容器的宽度相同。如果父容器的宽度改变,图片的宽度也会随之改变。

<img src="image.jpg" style="width: 100%;">

优点: 简单易用。
缺点: 图片高度会根据宽度等比例缩放,如果图片的原始比例与父容器不一致,可能会导致图片变形。

2. 使用 max-width: 100%:

这种方法可以防止图片超出容器的宽度。如果图片的原始宽度小于容器的宽度,图片会显示原始大小;如果图片的原始宽度大于容器的宽度,图片宽度会缩小到容器的宽度。

<img src="image.jpg" style="max-width: 100%;">

优点: 防止图片溢出容器,保留图片原始比例。
缺点: 图片高度仍然会根据宽度等比例缩放。

3. 使用 object-fit 属性 (推荐):

object-fit 属性可以控制图片在容器内的填充方式。结合 width: 100%max-width: 100% 使用,可以实现更灵活的图片自适应效果。常用的值有:

  • contain: 保持图片的原始比例,将图片完整地包含在容器内,可能会出现空白区域。
  • cover: 保持图片的原始比例,将图片完全覆盖容器,可能会裁剪图片的一部分。
  • fill: 拉伸图片以填充容器,可能会导致图片变形。
  • scale-down: 类似于 containnone 中较小的那个效果。
  • none: 保持图片的原始大小。
<img src="image.jpg" style="width: 100%; object-fit: cover;">

优点: 控制图片的填充方式,避免图片变形或出现空白区域。
缺点: 需要根据具体场景选择合适的 object-fit 值。

4. 使用响应式图片 (<picture>srcset 属性):

对于不同屏幕尺寸提供不同大小的图片,可以避免在小屏幕上加载过大的图片,提高页面性能。

<picture>
  <source srcset="image-small.jpg" media="(max-width: 768px)">
  <source srcset="image-medium.jpg" media="(max-width: 1200px)">
  <img src="image-large.jpg" alt="My Image">
</picture>

或者使用 srcset 属性:

<img srcset="image-small.jpg 480w, image-medium.jpg 800w, image-large.jpg 1200w"
     sizes="(max-width: 600px) 480px, (max-width: 900px) 800px, 1200px"
     src="image-large.jpg" alt="My Image">

优点: 根据屏幕尺寸加载合适的图片,提高页面性能。
缺点: 需要准备多张不同尺寸的图片。

总结:

选择哪种方法取决于你的具体需求。如果只是简单的让图片宽度自适应父容器,width: 100%max-width: 100% 就足够了。如果需要更精细的控制图片的显示效果,可以使用 object-fit 属性。如果需要针对不同屏幕尺寸优化图片加载,可以使用响应式图片。

标签:容器,100%,适应,width,宽度,原始,图片
From: https://www.cnblogs.com/ai888/p/18576445

相关文章

  • 爬取图片
    步骤1.拿到页面源代码,然后提取子页面的链接地址,href2.通过href拿到子页面内容,从子页面找到图片的下载地址img->src3.下载图片importrequestsfrombs4importBeautifulSoupimportreimporttimeurl="https://moetu.club/category/illustration"header={"user-age......
  • python语言识别简体中文图片代码QZQ
    pipinstallpytesseractpipinstallpytesseractPillowpipinstallopencv-pythonpyautogui需要安装上面模块需要安装这个软件:tesseract-ocr-w64-setup-5.5.0.20241111.exeC:\ProgramFiles\Tesseract-OCR\tessdata\chi_sim.traineddata需要设置环境变量:C:\Program......
  • python语言识别图片内容代码QZQ
    importpytesseractfromPILimportImagedefimage_recognition(image_path):try:text=pytesseract.image_to_string(Image.open(image_path))iftext.strip():#如果识别出的文本去除空白字符后不为空,说明识别到了有效内容print(“识别成功”)print(text)else:......
  • el-upload实现上传图片/pdf,回显图片/pdf功能。
    el-upload实现上传图片/pdf,回显图片/pdf功能。功能背景:上传图片和查看图片要在一个页面。如何回显当前行数据已上传的文件?答:把请求获取的数据赋值给绑定的fileList<el-upload:action="url"multiplelist-type="picture-card":on-preview="handlePictureCar......
  • table列表 图片预览
    1<el-table-columnlabel="营业执照"align="center"prop="businessLicense">2<templateslot-scope="scope">3<el-image4style="width:60p......
  • nginx前端图片缓存
    背景高频接口和高频前端图片都部署在后端,历史原因,研发不想改代码做前段后分离,我这边做nginx缓存固定路径下的前端图片。环境确认需要缓存的图片路径123.123.123.123:8888端口下的图片路径是:/web/portal-web/images/该目录下有多张图片和多级目录,不同目录下也有很多图片配置......
  • Taro 鸿蒙技术内幕系列(四):JDImage 自研鸿蒙图片库
    作者:京东零售何骁基于Taro打造的京东鸿蒙APP已跟随鸿蒙Next系统公测,本系列文章将深入解析Taro如何实现使用React开发高性能鸿蒙应用的技术内幕背景2024年初,京东正式启动了鸿蒙APP的开发工作。由于电商APP大量依赖图片来展示商品信息,对图片库的性能和加载体验......
  • responsively-lazy 可实现响应式图片懒加载的js插件
    在线演示  下载responsively-lazy是一款非常实用的可实现响应式图片懒加载的插件。它可以根据容器的大小来智能选择加载适合尺寸的图片,做到图片的响应式效果。并且使用它对于SEO是十分友好的。该图片懒加载插件的特点还有:响应式图片不做任何不必要的请求可以在任何支持s......
  • 简单实用的鼠标滑过图片遮罩层动画jQuery插件
    nsHover是一款简单实用的鼠标滑过图片遮罩层动画JQUERY插件。该插件可以在图片或块级元素上制作鼠标滑过时的遮罩层动画效果,它可以设置遮罩层的前景色和背景色,可以制作圆形图片等,非常实用。在线演示  下载 使用方法使用该鼠标滑过插件需要引入jQuery和ns.hover.min.js文......
  • 基于改进自适应分段线性近似(IAPLA)的微分方程数值解法研究: 从简单动力系统到混沌系统的
    微分方程作为一种数学工具在物理学、金融学等诸多领域的动态系统建模中发挥着关键作用。对这类方程数值解的研究一直是学术界关注的重点。数值方法是一类用于求解难以或无法获得解析解的数学问题的算法集合。这类方法主要处理描述函数在时间或空间维度上演化的微分方程,采用逐步计......