浅谈图片展示、图片自适应解决方案

article/2025/10/30 3:11:38

在这里插入图片描述

文章目录

  • 导读
  • CSS 解决方案
    • background-size
      • 🐷background-size: contain;
      • 🐷background-size:100%;
      • 🐷background-size:cover;
    • object-fit
      • 🐷object-fit: contain;
      • 🐷object-fit: cover;
  • 进而探讨图片跟随屏幕大小自适应的问题
    • 只设宽度方案,优化方案

导读

我们在日常开发中会遇到展示图片的问题,图片拉伸、图片残缺、有空白、大小不一致都是问题
所以我们如何更好得展示图片,就引出我们这篇文章的主题

CSS 解决方案

background-size

🐷background-size: contain;

💌 background-size:contain;等比缩放,按照某一边来覆盖显示区域的,若区域大于图片的比
例,会有白边,图片不会变形

<div class="img_box">
</div>
<script>
</script>
<style>.img_box {width: 100px;height: 100px;background-image: url('./1.jpg');background-size: contain;}
</style>

🐥就是说,其实这种也是不是很好用的,就相当于把某一边宽度为100%,但是另一边就按照比例,就很容易造成有白边(我这里加了个底色)
在这里插入图片描述

🐷background-size:100%;

💌 background-size:100%;相当于background-size:100% auto的写法。
💌 background-size:100% 100%;这种方式设置完背景图片的大小后,会完全铺满整个盒子,
💌 background-size:100%;这种方式设置的背景图片的大小,x轴会和盒子一样的宽,但是y轴由于默
认为 auto

🐷background-size:cover;

这中是比较好的方案
首先会充满盒子,不变形,但是会把多余的进行裁剪

<div class="img_box">
</div>
<script>
</script>
<style>.img_box {width: 100px;height: 100px;background-color: red;background-image: url('./1.jpg');background-repeat: no-repeat;background-size: cover;}
</style>

在这里插入图片描述

object-fit

这个属性,我们主要讨论下面这种情况

<div class="img_box"><img src="./1.jpg" alt="">
</div>
<script>
</script>
<style>.img_box {width: 200px;height: 100px;background-color: red;}img{width: 100%;height: 100%;}
</style>

在这里插入图片描述

可以看到会产生拉伸

🐷object-fit: contain;

🐥可以看出和上面的background-size:contain;特点一样,会按照某一边,不会拉伸,但是比例不匹配会产生白边(我这里依然是红边)

<div class="img_box"><img src="./1.jpg" alt="">
</div>
<script>
</script>
<style>.img_box {width: 200px;height: 100px;background-color: red;}img{width: 100%;height: 100%;object-fit: contain;}
</style>

在这里插入图片描述

🐷object-fit: cover;

🐥可以看出,不会拉伸,但是会对图片进行剪切

<div class="img_box"><img src="./1.jpg" alt="">
</div>
<script>
</script>
<style>.img_box {width: 200px;height: 100px;background-color: red;}img{width: 100%;height: 100%;object-fit: cover;}
</style>

在这里插入图片描述

进而探讨图片跟随屏幕大小自适应的问题

我们设想一个问题,就是页面一个图片,咱们想把图片自适应屏幕宽度,进行完整更好的展示

<div class="img_box"><img src="./1.jpg" alt="">
</div>
<script>
</script>
<style>.img_box {width: 1000px;height: 800px;background-color: red;}img{width: 100%;height: 100%;object-fit: cover;}
</style>

🐥拉伸边框会出现这样,明显不是咱们想要的
在这里插入图片描述

只设宽度方案,优化方案

我们如下代码,只设置宽度,虽然看上去不错,但是依然是不完善的

<div class="img_box"><img src="./1.jpg" alt="">
</div>
<script>
</script>
<style>.img_box {width: 100%;background-color: red;}img{width: 100%;}
</style>

在这里插入图片描述
🐥其实这里我们可以进而去控制img元素的父盒子,去控制父盒子的宽度自适应,可以设置display:inline-block;简单的控制父元素宽度(宽度也是随内容变化的,而且图片默认样式恰巧也表现为inline-block的效果),可以看下图的变化,就很nice

<div class="img_box"><img src="./1.png" alt="">
</div>
<div class="img_box"><img src="./2.png" alt="">
</div>
<script>
</script>
<style>.img_box {background-color: red;display: inline-block;}img {width: 100%;vertical-align: middle;}
</style>

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/vL8lWHM6.shtml

相关文章

实时即未来,大数据项目车联网之项目基石与前瞻【一】

文章目录 写在前面车联网项目全新升级 车联网行业背景介绍车联网技术汽车行业新能源汽车 车联网行业技术车辆网行业产业链与国内知名企业 车联网项目车联网技术架构和技术选型车联网项目的架构搭建 写在前面 车联网项目全新升级 更全 8-》21篇 更细 -》 图文并茂、部分代码首…

开发一个大数据项目的架构与流程

如果我们想做一个数据分析项目&#xff0c;我们就应该清楚数据的处理流程。 我们大致可以分为: 数据采集——数据存储——数据清洗——数据分析——数据可视化和数据挖掘、二次分析 在以上流程处理完成之后&#xff0c;会进入调度阶段&#xff1a;将数据采集、清洗、分析、导出…

大数据项目大致流程

1、提出需求-需要和多个部门负责人进行协商&#xff1a;关于项目的可行性分析 2、需求分析-进行需求调研&#xff08;研究竞品&#xff09;、市场调研&#xff0c;如果是给甲方做产品&#xff0c;需要和甲方协商需求细则 3、技术选型-需要多个开发部门的人员参与协商 考虑的…

大数据项目之电商数仓、数据仓库概念、项目需求及架构设计

文章目录 1.数据仓库概念2. 项目需求及架构设计2.1 项目需求分析2.1.1 采集平台2.1.2 离线需求2.1.3 实时需求2.1.4 思考题 2.2 项目框架2.2.1 技术选型2.2.2 系统数据流程设计2.2.3 框架版本选型2.2.3.1 Apache框架版本 2.2.4 服务器选型2.2.4.1 物理机&#xff1a;2.2.4.2 云…

大数据项目开发进度(实时更新)

文章目录 前言项目概述项目进度第一周0525-0529&#xff1a;第二周0601-0605&#xff1a;第三周0608-0612&#xff1a;第四周0615-0621&#xff1a;&#xff08;周末加班&#xff09;第五周0622-0628&#xff1a;&#xff08;周末加班&#xff09;第六周0629-0705&#xff1a;&…

大数据项目需求分析

以大数据项目为主线&#xff0c;技术理论与项目实践相结合&#xff0c;按照大数据项目的开发流程逐步推进&#xff0c;本文主要讲解项目的需求分析、架构设计以及离线和实时数据流程设计&#xff0c;然后提前规划好大数据项目需要的集群&#xff0c;按照项目的实现逻辑&#xf…

大数据项目篇--项目架构图

文章目录 离线架构离线架构-表信息离线架构-ETL信息 实时架构 离线架构 离线架构-表信息 离线架构-ETL信息 实时架构

客快物流大数据项目学习框架

文章目录 客快物流大数据项目学习框架 前言 一、项目简介 二、功能介绍 三、项目背景 四、服务器资源规划 五、技术亮点及价值 六、智慧物流大数据平台 客快物流大数据项目学习框架 前言 利用框架的力量&#xff0c;看懂游戏规则&#xff0c;才是入行的前提 大多数人…

大数据项目流程

一、项目流程 1&#xff09;需求概况&#xff1a;实现目标是什么&#xff1f; ——— 通过大数据获取什么信息 2&#xff09;需求分析&#xff1a;用什么样的数据&#xff0c;实现什么样的效果。 数据源的考量&#xff08;数据的种类和量的大小&#xff09;&#xff0c;数据…

农业大数据项目

小白学苑开始承接大数据定制项目和大数据实训项目啦&#xff01;欢迎联系合作&#xff01; 下面是近期客户定制的农业大数据项目结果展示&#xff1a; 一、项目需求&#xff1a; 搭建一个基于Hadoop大数据分析框架的农业大数据系统&#xff0c;该系统框架以我国农业的水果产业…

常见的大数据项目

大数据项目最重要的两个特点是数据量大&#xff0c;实时性要求强&#xff0c;这也是与小数据和传统数据处理方式的最重要的区别。 大数据领域的主打项目&#xff0c;如下所示&#xff1a; 大数据领域的项目&#xff0c;主要分成以下几个部分 数据的整合&#xff0c;也就是数据…

【大数据】9大实战项目解决你所有烦恼(写论文、找工作)

你还在为“网上资料多而杂&#xff0c;不系统&#xff0c;不连贯&#xff0c;非常浪费时间”而烦恼么&#xff1f; 你还在为“学习碰到问题无人辅导&#xff0c;问题积累长期不解决&#xff0c;打击学习信心”而烦恼么&#xff1f; 你还在为“没有项目经验&#xff0c;投简历…

win10安装ubuntu虚拟机

第一步&#xff1a;下载virtualbox和ubuntu镜像文件 1、virtualbox下载地址&#xff1a; https://www.virtualbox.org/wiki/Downloads 选择Windows hosts 文件不大&#xff0c;103MB&#xff0c;可以直接在网页上下载 2、ubuntu iso下载地址&#xff1a; http://releases.u…

在VMware实验Ubuntu虚拟机的使用

目录 下载Ubuntu18.04 安装Ubuntu虚拟机 先安装一个Ubuntu再说 然后再来调试 开始使用&#xff01; 调整页面 正式测试开始&#xff01; 结果验证 时隔多日。。。。 改进 今天我们来尝试在VMware中弄一个Ubuntu虚拟机来使用 下载Ubuntu18.04 首先&#xff0c;我们要…

本机与Ubuntu虚拟机共享文件

1、找到你的虚拟机并右击&#xff0c;弹出的选项卡选择设置 2、点击选项》共享文件夹》单选总是启用》点击添加你的文件路径》点击确定 3、然后进入到虚拟机桌面点击文件选择其他地方选择计算机 4、然后再依次进入红框里的路径就可以访问本机的共享的文件了。 完&#xff01; 路…

Ubuntu虚拟机镜像下载及创建

一、下载ubuntu镜像 1.下载ubuntu镜像 ubuntu下载网址&#xff1a; https://mirrors.neusoft.edu.cn/ubuntu-releases/20.04.5/ 或者https://mirrors.aliyun.com/ubuntu-releases/20.04.5/ 然后选择如下&#xff1a; 二、安装ubuntu虚拟机 1.安装ubuntu虚拟机 打开VMware…

Ubuntu虚拟机添加网卡

目录 零、配置环境 一、添加网卡 1. 虚拟机 -> 设置 2. 添加网络适配器 3. 修改网络连接方式 4. 确定 5. 编辑 -> 虚拟网络编辑器 6. 添加指定网卡名称 -- end -- 二、ifconfig -a 附加 零、配置环境 安装环境&#xff1a;VMware Workstation 16 Pro 安装系统…

mac pro M1(ARM)安装:ubuntu虚拟机(四)

0. 引言 前面几期我们分别讲解了如何在mac m1环境下安装linux、window虚拟机&#xff0c;而很多应用场景中需要用到ubuntu虚拟机&#xff0c;所以这次我们来单独讲讲如何在mac m1环境下安装ubuntu虚拟机 1. 下载 1.1. 下载VMware Fusion 本次演示我们选择通过VMware来安装虚…

VMware创建Ubuntu虚拟机

VMware创建Ubuntu虚拟机 1、镜像下载2、点击新建虚拟机3、选择“典型”4、选择Ubuntu镜像文件位置5、输入系统账户信息6、选择虚拟机存放位置7、设置指定磁盘容量8、确认安装信息&#xff0c;并点击完成9、等待安装10、自动安装VM-tool11、点击登录&#xff0c;输入密码12、安装…