css——图片缩放,拉伸,变形的解决办法

news2024/9/23 15:33:17

你的图片即将变得超级丝滑

  • 图片为什么会拉伸变形?
  • 怎么解决?
  • css的object-fit属性
    • object-fit属性有什么用
    • 介绍一下object-position
  • 举个小栗子

图片为什么会拉伸变形?

前端布局时,图片会出现拉伸、缩放和变形的原因可能有多种:
1.例如图片的尺寸与容器不匹配
2.设置了错误的样式属性
3.浏览器压缩

比如像这样:
在这里插入图片描述在这里插入图片描述

怎么解决?

通过调整图片的尺寸、使用样式属性或使用背景图等方式来解决。
如果图片拉伸、缩放或变形是由于浏览器压缩造成的,可以使用响应式图片或使用压缩技术来解决。
还有一些其他的解决方案,根据具体情况而定。
今天着重介绍css方法解决,那就是object-fit属性

css的object-fit属性

排列宽高不同,比例不同的图片,很容易破坏页面布局 。
如果此时给图片高度,图面会拉伸变形,巨丑。
这种情况下,我们可以使用object-fit属性
cover可以确保图片按原始宽高比例进行缩放,超出容器的部分会被裁剪掉
object-fit配合的还有一个object-position属性 它可以指定图片显示的位置

object-fit属性有什么用

  1. 调整容器中的图片或视频大小,以适应容器的尺寸。
  2. 控制图片或视频的位置,以便让它们在容器中居中或者对齐到左上角、右上角、左下角或右下角等位置。
  3. 避免图片或视频在容器中变形或拉伸。
  4. object-fit适用于需要在固定尺寸的容器中展示图片或视频的场景。
    例如:网站的相册、产品展示页面、视频播放器等。
    使用object-fit非常简单,只需要在图片或视频的样式中添加object-fit属性,并设置其值为contain、cover、fill、nonescale-down即可。

介绍一下object-position

object-position 是一种 CSS 样式属性,用于设置对象(如图片或视频)在容器中的位置。
通过设置 object-position 属性,可以改变对象在容器中的位置,从而实现布局上的调整。
该属性的值可以是一个具体的像素值,也可以是相对于容器的百分比值。
例如:
设置 {object-position: 50% 50%} 可以将对象在容器中居中显示。
该属性通常与 object-fit 属性一起使用,用于控制对象在容器中的大小和位置。

举个小栗子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			img{
				width: 300px;
				height: 300px;
				object-fit: cover;
				object-position: left top;
				transition: 1s;
			}
			img:hover{
				object-position: right bottom;
			}
		</style>
	</head>
	<body>
		<img src="https://img.zcool.cn/community/015fe55e02d1dea8012165183c9fa1.jpg@1280w_1l_2o_100sh.jpg" alt="">
		<img src="https://img.zcool.cn/community/0115c759687127a8012193a3eaa999.png@1280w_1l_2o_100sh.png" alt="">
		<img src="https://bpic.588ku.com/back_our/20210808/bg/ca506bb9197dea874b41e5418610d949_76567.png" alt="">
	</body>
</html>

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/400749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.3操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则

2.3操作系统-存储管理&#xff1a;页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则页式存储逻辑地址、物理地址如何判断物理地址和逻辑地址它们之间的地址关系&#xff1f;页面大小与页内地址长度的关系…

现货交易入门之垂死挣扎

本文讲解的也是挣扎形态&#xff0c;前面以已经讲过一个挣扎形态&#xff0c;但是本文这个形态的名字更让人能耳目一新&#xff0c;因为它叫“垂死挣扎线”&#xff0c;这并不是普通的挣扎线。是“垂死”的&#xff01; “垂死挣扎线”与“顶部挣扎线”很相似&#xff0c;都是出…

JavaApi操作ElasticSearch(强烈推荐)

ElasticSearch 高级 1 javaApi操作es环境搭建 在elasticsearch官网中提供了各种语言的客户端&#xff1a;https://www.elastic.co/guide/en/elasticsearch/client/index.html 而Java的客户端就有两个&#xff1a; 不过Java API这个客户端&#xff08;Transport Client&#…

element-ui日期选择器时间差

关于使用element-ui日期选择器时&#xff0c;发现时间差问题&#xff0c;特此记录下 #主要记录三个问题 日期选择器选择时获取到的格式相差八小时当日期格式为–拼接时&#xff0c;转成时间戳会相差八小时&#xff08;2023-03-09&#xff09;DatePicker设置区域范围和校验&…

TiDB数据库架构概述

文章目录TiDB体系架构TiDB ServerStorage Cluster(存储引擎)PD cluster题目TiDB体系架构 TiDB Server Sql语句最先到达 TiDB Server集群 它是无状态的&#xff0c;数据并不是存储在这里面&#xff0c;当一个会话连接到TiDB Server集群上&#xff0c;sql语句发过来&#xff0c…

大数据自学学习技巧?

经常有人说&#xff1a;先别管大数据是什么&#xff0c;现在理解不了没关系&#xff0c;先开始学&#xff0c;等学着学着就明白了&#xff0c;这种学习路线基本是混合的&#xff0c;很难分清楚自己学了这段怎么用在以后项目中&#xff0c;所以会越学越迷茫&#xff0c;但是等你…

机房漏水设备受损,一招轻松避免

随着科学信息技术的发展和社会经济的快速发展,计算机系统得到了广泛的应用&#xff0c;计算机房设备中使用的设备越来越多。 漏水对机房内精密电子设备容易造成损坏&#xff0c;电器短路等。一旦机房发生漏液&#xff0c;水流到线槽&#xff0c;会导致机房断电&#xff0c;造成…

IPv6公共DNS现在提供加密DNS查询

支持DoT/DoH DoT:dns.ipv6dns.comDoH:https://dns.ipv6dns.com/dns-query为什么需要加密DNS 配置: Windows 10/8/7 1 右键网络进入属性或者右键右下角的Inernet进入网络共享中心,如下图: 2 点击网络和共享中心左侧的"更改适配器设置"链接,如下图: 3 选中正…

一文读懂pinia Vue状态管理

文章目录1.概述&#xff1a;2. 准备工作3.pinia 安装及使用3.1. 安装pinia3.2 store的创建和使用3.3 getters 使用3.4 action 的使用3.5 总结示例代码4.总结1.概述&#xff1a; pinia 类似与vue2 中的vuex &#xff0c;实现跨页面共享状态管理&#xff0c;类似与java 中的sess…

Git设置SSH Key

一、git 配置 &#xff08;1&#xff09;打开 git 命令窗口 &#xff08;2&#xff09;配置用户名&#xff08;填自己的姓名&#xff09; git config --global user.name “xinyu.xia” &#xff08;3&#xff09;配置用户邮箱&#xff08;填自己的邮箱&#xff0…

在SNAP中用sentinel-1数据做DInSAR测量---以门源地震为例

在SNAP中用sentinel-1数据做DInSAR测量---以门源地震为例0 写在前面1 数据下载2 处理步骤2.1 split2.2 apply orbit 导入精密轨道2.3 查看数据的时空基线base line2.4 back-geocoding 配准2.5 Enhanced Spectral Diversity2.6 Deburst2.7 Interogram Formation 生成干涉图2.8 M…

【Unity3D日常开发】Unity3D中协程的使用

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 最近有小伙伴问协程怎么用、怎么写&#xff0c;我也是会用会写…

Revit管理链接模型视图样式和链接CAD

一、Revit中如何管理链接模型的视图样式 Revit软件协同&#xff0c;无非就两种方式&#xff1a;1、工作集;2、链接文件。其中“工作集”属于软件内部的工作协调方式&#xff0c;不是我们本期问题汇总要说明的问题&#xff0c;这里我们着重说一下第二种关于“链接文件”方式协同…

我们的理性何处安放

每天工作压力和各种人相处都让我们非常忙碌&#xff0c;我们上大学&#xff0c;努力工作&#xff0c;都是想获得更好的人生场景&#xff0c;素养&#xff0c;提升自身的认知&#xff0c;这样就是对我们大多数人生最负责任。如何让自己理性与人为善&#xff0c;并能被人温柔以待…

大数据-学习实践-3HDFS

大数据-学习实践-2HDFS (大数据系列) 文章目录大数据-学习实践-2HDFS1知识点2具体内容2.1HDFS介绍2.2HDFS操作2.2.1基本操作2.2.2Java操作HDFS2.3HDFS体系结构2.3.1NameNode2.3.2SecondaryNameNode2.3.3DataNode2.3.4总结2.4HDFS回收站2.4HDFS安全模式2.5定时上传至HDFS2.6HDF…

java版工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单

java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显…

Kalman Filter in SLAM (4) ——Iterated Extended Kalman Filter (IEKF, 迭代扩展卡尔曼滤波)

文章目录1. IEKF 概述2. IEKF 的核心思想2.1. The Motivation of Iteration2.2. IEKF 迭代线性化步骤3. IEKF 的推导3.1. 预测公式3.2. 校正公式1. IEKF 概述 由于非线性模型中做了线性化近似&#xff0c;当非线性程度越强时&#xff0c;误差就会较大&#xff0c;但是由于线性…

删库跑路现场还原

数据库是公司重要资产&#xff0c;在此类重要资产平台上&#xff0c;尤其是重要操作&#xff0c;应该保持敬畏心。数据库被删了&#xff1f;可怎么证明是某某某删了数据库&#xff1f;或者根本都不知道谁删除了数据库&#xff0c;又没抓现行&#xff0c;该怎么办&#xff1f;正…

品牌直播人气高达80w+,如何在B站打造品牌营销阵地?

2月9日&#xff0c;手机品牌REALME真我&#xff08;以下简称“真我”&#xff09;&#xff0c;在B站开启一场「发布会」盛宴。这场发布会正是为新机“真我GT Neo5”发布进行全面宣传&#xff0c;在当日&#xff0c;真我品牌官方号在B站开启了一场线上新机发布会。来源-B站官方号…

云和虚拟化有什么区别?

云和虚拟化概念容易被混淆&#xff0c;特别是因为它们都围绕着用抽象资源创建有用的环境。但是&#xff0c;虚拟化是一项允许您从单个物理硬件系统创建多个模拟环境或专用资源的技术&#xff0c;而云是可在整个网络中抽象&#xff0c;汇总和共享可伸缩资源的IT环境。简而言之&a…