首页 > 其他分享 >图片自适应

图片自适应

时间:2024-07-30 20:09:06浏览次数:8  
标签:缩放 100% cover 适应 background 背景图片 图片

​ 图片自适应相信对于前端小伙伴来说 并不陌生吧 每次遇到的时候就是去网上百度 MDN 掘金等去找
然后找到的又不能完全符合我们的大多数需求 所以今天我就把最近解决图片自适应的方法放在这里

概念
首先,我这里用的方法是背景图片 background,我们先来看看MDN对background-size的描述

值,指定背景图片大小,不能为负值。

值,指定背景图片相对背景区(background positioning area)的百分比。背景区由background-origin设置,默认为盒模型的内容区与内边距,也可设置为只有内容区,或者还包括边框。如果attachmentfixed,背景区为浏览器可视区(即视口),不包括滚动条。不能为负值。

以背景图片的比例缩放背景图片。

缩放背景图片以完全覆盖背景区,可能背景图片部分看不见。和 contain 值相反,cover 值尽可能大的缩放背景图像并保持图像的宽高比例(图像不会被压扁)。该背景图以它的全部宽或者高覆盖所在容器。当容器和背景图大小不同时,背景图的 左/右 或者 上/下 部分会被裁剪。

缩放背景图片以完全装入背景区,可能背景区部分空白。contain 尽可能的缩放背景并保持图像的宽高比例(图像不会被压缩)。该背景图会填充所在的容器。当背景图和容器的大小的不同时,容器的空白区域(上/下或者左/右)会显示由 background-color 设置的背景颜色。

当然用的最多的就是cover,container

cover:他会覆盖所在的容器 会出现被裁剪的情况

container:缩放图片 放入背景区 可能会出现背景区上下/左右空白的情况

图片等比自适应 一

我这里用的方法是cover,假设width为100%的情况下,要想图片不被裁剪,就需要背景高度/宽度 == 图片高度/宽度

但是你这个宽度可以设置100%,高度怎么设置呢,我们注意 cover 对图片进行缩放时会保持图片的宽高比例,但是我们

不给背景盒子设置高度的话 哪怕设置了cover 也会出现高度坍塌的问题 那么这里可以用padding-top来把盒子撑开

.quantumCompute_banner {
    width: 100%;
    /*height: 477px;*/
    /*height: 632px;*/
    padding-top: 33.03%;/*  高度 / 宽度  * 100%     336/1017*100%   */
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

注意 padding-top的值 是 高度/宽度*100%

**图片等比自适应 二

另一种方案 是 aspect-ratio 他会让元素保持一定的比例 这里直接弄成和图片的宽高一样就行

.quantumCompute_banner {
    width: 100%;
    /*height: 477px;*/
    /*height: 632px;*/
    /*padding-top: 33.03%;/*  高度 / 宽度  * 100%     336/1017*100%   */*/
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 1440 / 361;/*  1440是图片宽度  361 是图片高度 */
}

标签:缩放,100%,cover,适应,background,背景图片,图片
From: https://www.cnblogs.com/ly5926/p/18333245

相关文章

  • 图片预加载和懒加载
    ......
  • Java使用EasyExcel自定义合并(横纵合并)、自定义行高列宽、自适应行高列宽工具Excel导出
    目录一、自适应行高列宽工具类1、自适应行高2、自适应列宽二、自定义行高列宽工具类1、自定义行高2、自定义列宽三、自定义合并工具类四、自定义样式五、实现Excel的完整代码最近又开始写Excel导出的业务,之前写的自适应行高列宽工具类并不满足现下的需求需求是导出......
  • Meta SAM 2:实时分割图片和视频中对象;Apple Intelligence 首个开发者测试版发布丨 RTE
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,......
  • 三行代码高搞定nestjs静态图片映射方案
    方案一@nestjs/serve-static库映射上代码npmi@nestjs/serve-staticimport{ServeStaticModule}from'@nestjs/serve-static';import{join}from'path';conststaticPath=join(__dirname,'..','/public/');@Module({......
  • Chrome 搜索页面按钮的添加以及图片的更改(萌新)
    在学习react中不断的练习便是最好的进步方法,今天对chrome搜索页面动了心思,好了让我们一起看看怎么去改动吧(我是新手如有不对请大佬补充)首先呢我们要有一个完整的框架,建立一个全新的项目,在里面有一个chrome框架,才可以实行                 ......
  • 易优CMS模板标签uibackground背景图片在模板文件index.htm中调用uibackground标签,实现
    【基础用法】标签:uibackground描述:背景图片上传标签,使用时结合html一起才能完成可视化布局,只针对具有可视化功能的模板。用法:<divclass="eyou-edit"e-id="文件模板里唯一的数字ID"e-page='文件模板名'e-type="background"style="background-image:url({eyou:uibackgrounde......
  • 验证码原理与Django实现--简单图片验证码
    前言在网页中常见图片中包含数字字母的验证码如下如果将其简化,那么我们可以认为验证码是由数字字母加上遮挡的线段所构成。本文,我们不妨先解决其中数字与字母的简单生成数字字母的生成原理与代码实现 首先,可以使用PIL库中的类Image和ImageDraw,用于生成图片和调用画笔对生......
  • Springboot使用Thumbnailator压缩图片上传到阿里云OSS
    原文链接:https://blog.csdn.net/weixin_39973810/article/details/86545054前提:图片的压缩大致有两种,一种是将图片的尺寸压缩小,另一种是尺寸不变,将压缩质量,一般对于项目我们需要第一种,即用户上传一张分辨率为3840 × 2160的图片,通过上传图片接口后上传到OSS上的图片分辨率会......
  • elementplus图片预览操作按钮栏增加下载
    1.实现效果:elementplus图片预览组件,自定义增加一个下载按钮,以及下载功能,如图 2.使用的vue3和element plus版本"element-plus":"2.7.6",3.具体代码:(1)使用#viewer插槽:<el-image:title="点击预览":src="getBowserUrl(scope.row.filePath)":z......
  • 微信小程序,web,uniapp-vue前端图片压缩思路-------uniapp-nvue如何压缩
    uniapp官方提供的压缩接口,只支持jpg的压缩,所以,直接放弃在非nvue的页面中,统一使用canvas获取图片信息,并重新绘制。存在一个问题,canvas必须指定宽高,不能动态给定,所以可能存在一些问题。nvue页面,又无法使用canvas,或者说,性能不是很好。一个隐藏的canvas只做图片处理使用,应该不会影......