CSS实现图片自适应布局

article/2025/9/29 18:27:46

CSS实现图片自适应布局

最轻松的写法

<div class="container">// 这里图片尺寸为440X440像素,<img src="./images/medium.jpg" alt="test">
</div><style>.container {width: 600px;height: 600px;border: 1px solid red;}.container > img {width: 100%;height: 100%;}
</style>

只要图片的父级图片宽高不是固定的,图片就能很简单的自适应容器大小了。

在这里插入图片描述

不过,通过图片我们可以看出,440X440像素的图片完全填满了600X600的容器,图片被拉伸了,可能无法满足需求了。

不会拉伸图片你的写法

<div class="container">// 这里图片尺寸为440X440像素,<img src="./images/medium.jpg" alt="test">
</div><style>.container {width: 600px;height: 600px;border: 1px solid red;}.container > img {max-width: 100%;max-height: 100%;}
</style>

与第一个例子相比的话,我们其实就是将width,height改为了max-width,max-height而已,其中的区别就是width,height是基于父级元素作为计算的,而max-width,max-height是根据图片自身大小来计算的,效果见下图:

在这里插入图片描述

图片到是没有拉伸了,但是对于父级容器相比图片过大,这种方法显然不使用了。

CSS3 image-set属性

平时我们通过js检查容器宽度,然后加载不同分辨率的图片。

通过HTML5的新特性我们同样也可以实现。

.container {width: 600px;height: 600px;border: 1px solid red;background-repeat: no-repeat;background-image: url('./images/medium.jpg');background: -webkit-image-set(url('./images/small.jpg') 1x, url('./images/medium.jpg') 2x) 0 0 no-repeat;background: image-set(url('./images/small.jpg') 1x, url('./images/medium.jpg') 2x) 0 0 no-repeat;
}

这里的background-image只是起到了一个备用的作用,真正发挥作用的是image-set属性,url指定图片的路径,后面1px表示设备像素比为1时显示该url指定的图片。

在这里插入图片描述

在电脑设备上通过浏览器打开后,1x像素比的图片如期加载。我们通过chrome改变下设备像素比来看看,2x像素比图片是否正常工作

在这里插入图片描述

可以看到的是,我们模拟的移动设备图片也正常的加载指定的图片了。

在这里插入图片描述

image-set可以很轻松的帮我们解决掉移动端图片的问题,但是它最为致命的问题是兼容性目前并不高。

那么我们有没有更好的方式去解决问题呢?

HTML5 srcset属性

<div class="container"><img srcset="images/small.jpg 800w, images/medium.jpg 1024w, images/big.jpg 1440w">
</div>

上面的例子表示浏览器宽度达到 800px 则加载 small.jpg ,达到 1024px则加载 medium.jpg,达到1440px则加载big.jpg。

srcset可以实现媒体查询的功能,具体细节就不深入了,这里只是抛砖引玉而已,有兴趣的朋友可以移步张鑫旭大佬的博客。


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

相关文章

CSS图片自适应框架

CSS图片自适应框架 使用img来设置 <!DOCTYPE html> <html><style>body{margin: 0;padding: 10px;}#a_1{display: block;width: 100px;height: 50px;overflow: hidden;padding: 10px;border: dashed;margin: 10px;}#a_1img{width: 100%;height: 100%;}</s…

css之实现图片自适应

文章目录 一、position实现图片自适应二、padding补偿法三、图片以正方形显示 原图如下&#xff1a; 在开发中&#xff0c;想在固定的高度和宽度中显示不一样的图片时&#xff0c;就会出现压缩&#xff0c;导致图片最后显示不好看&#xff0c;以下提供几种方法进行调整&#xf…

css实现图片自适应缩放的两种方法

想要实现图片根据给定宽高来自适应缩放的时候&#xff0c;会想到什么属性&#xff1f;是object-fit: cover;吗&#xff1f; 来试一试&#xff01;为了展示效果&#xff0c;我特地选了对称的图片。下面两个img元素都有一个div包裹&#xff0c;div设置固定宽高&#xff0c;第一个…

3种CSS实现背景图片全屏铺满自适应的方式

来源 | https://www.fly63.com/ 一张清晰漂亮的背景图片能给网页加分不少&#xff0c;设计师也经常会给页面的背景使用大图&#xff0c;我们既不想图片因为不同分辨率图片变形&#xff0c;也不希望当在大屏的情况下&#xff0c;背景有一块露白&#xff0c;简而言之&#xff0c;…

css怎么设置背景图片自适应大小

在css中&#xff0c;可以利用“background-size”属性设置背景图片自适应大小&#xff0c;该属性用于设置背景图片的大小&#xff0c;只需要给背景图片元素添加“background-size:cover;”样式&#xff0c;即可使背景图片的大小自适应。 本教程操作环境&#xff1a;windows10系…

CSS——图片自适应宽高

宽度拉伸&#xff1a;把width设置成100%&#xff0c;height设置auto 高度拉伸&#xff1a;把height设置成100%&#xff0c;width设置auto ​ <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv&…

使用CSS进行图片自适应的两个方法

1.object-fit 属性 设置好图片的宽高&#xff0c;然后设置object-fit属性为contain就是常见的图片自适应效果。 img {width: 400px;height: 400px;object-fit: contain;} object-fit: fill|contain|cover|scale-down|none|initial|inherit; 2.background 我们把图片作为背景…

css实现一个图片自适应,图片不会变形。

第一种&#xff0c;图片填充满容器 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" conten…

常见分布的概率分布及期望方差

文章转载&#xff1a;https://www.jianshu.com/p/c05bafb52877f 参考链接&#xff1a;https://blog.csdn.net/sodacoco/article/details/89041910

卡方分布(Chi-Square Distribution):

定义&#xff1a;如果我们的随机变量是标准正态分布&#xff08;详见以前博客的高斯分布&#xff09;&#xff0c;那么多个随机变量的平方和服从的分布即为卡方分布。 XY12Y22⋯Yn2 其中&#xff0c;Y1,Y2,⋯,Yn均为服从标准正态分布的随机变量&#xff0c;那么XX服从卡方分布&…

自由度为n的卡方分布χ²(n)的期望等于n、方差等于2n的证明

自由度为n的卡方分布χ&#xff08;n&#xff09;的期望等于n、方差等于2n的证明 出自&#xff1a;http://blog.sina.com.cn/s/blog_4cb6ee6c0102xh17.html posted on 2019-06-09 20:31 蔡军帅_ACM 阅读( ...) 评论( ...) 编辑 收藏

常见分布的期望与方差

离散型随机变量的期望&#xff1a;连续型随机变量的期望&#xff1a;方差公式&#xff1a;DX E(X) - (EX)

线性回归和卡方分布与方差分析

**1、线性回归 例子 import numpy as np import pylab def compute_error(b,m,data):totalError 0#Two ways to implement this#first way# for i in range(0,len(data)):# x data[i,0]# y data[i,1]## totalError (y-(m*xb))**2#second wayx data[:,0]y da…

数据分析之卡方检验

1、卡方检验定义 卡方检验&#xff0c;是用途非常广的一种假设检验方法&#xff0c;它在分类资料统计推断中的应用&#xff0c;包括两个率或两个构成比比较的卡方检验&#xff1b;多个率或多个构成比比较的卡方检验以及分类资料的相关分析等。 是一种非参数检验方法。它的原假设…

高斯分布和卡方分布

高斯分布和卡方分布 高斯分布和卡方分布高斯分布1 单元高斯分布1.1 一维随机变量1.2 标准正太分布1.3 numpy中使用正太分布 2 多元高斯分布2.1 独立多元/维高斯分布2.2 举例-画2维独立不相关高斯图2.3 相关系数2.3 举例-画2维不独立相关高斯图 高斯分布和卡方分布 高斯分布 1…

卡方分布(Chi-Square Distribution)

1.卡方分布 在统计学中, 很多假设检验的检验统计量在原假设下服从卡方分布. 这种检验统计量服从卡方分布的假设检验适用于分类数据. Γ ( v 2 ) \Gamma(\frac{v}{2}) Γ(2v​)为伽马函数 检验此PDF的积分值是否为1&#xff1f; 自由度&#xff08;DoF&#xff09;的正式定义为…

卡方检验和卡方分布

什么是卡方检验 卡方检验是一种用途很广的计数资料的假设检验方法。它属于非参数检验的范畴&#xff0c;主要是比较两个及两个以上样本率( 构成比&#xff09;以及两个分类变量的关联性分析。其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合优度问题。 它在分类资料…

卡方分布分析与应用

卡方检验(chi-square&#xff0c;记为 χ2 检验)是统计学中常用来计数数据分析的方法&#xff0c;对于总体的分布不作任何假设&#xff0c;因此它属于非参数检验法中的一种。本博文从理论到实际应用去阐述卡方检验&#xff0c;最后用python语言去实现卡方分布的代码。 1. 卡方…

常见分布 的 数学期望以及方差公式

一、通用公式【数学期望】 1》求解数学期望 2》数学期望的性质 二、常用分布的期望与方差 1》精简版&#xff1a; 2》叨叨版&#xff1a;

期望、方差

一、期望和方差的定义 随机变量(Random Variable) X 是一个映射&#xff0c;把随机试验的结果与实数建立起了一一对应的关系。而期望与方差是随机变量的两个重要的数字特征。 1. 期望(Expectation, or expected value) 期望是度量一个随机变量取值的集中位置或平均水平的最基…