iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >CSS如何解决前端图片变形的问题
  • 158
分享到

CSS如何解决前端图片变形的问题

2023-06-08 04:06:16 158人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关CSS如何解决前端图片变形的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、让图片的宽度或者高度等于容器的宽度或高度,多余的裁掉,然后让图片居中:<style&nb

这篇文章将为大家详细讲解有关CSS如何解决前端图片变形的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、让图片的宽度或者高度等于容器的宽度或高度,多余的裁掉,然后让图片居中:

<style type="text/css">div{    width: 200px;    height: 200px;    overflow: hidden;    border: 2px solid red;    position: relative;}img{    width: 100%;    position: absolute; top: 50%; left: 50%; transfORM: translate(-50%, -50%); }</style><div>    <img src="1.png"></div><br><div>    <img src="1.jpg"></div>

效果图:

CSS如何解决前端图片变形的问题

如果图片的宽度限制了,高度大于等于容器的高度,就会填满整个容器,但是如果图片高度小于容器高度,就会出现空白,固定高度同理。此方法是最简单也最实用,配合后台裁切,更加完美。

二、让图片始终显示在容器内,并且居中显示。这种方法不会裁切图片,可以说是上面的升级版。

<style type="text/css">div{    width: 200px;    height: 200px;    border: 2px solid red;    position: relative;}img{    max-width: 100%;    max-height: 100%;    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }</style><div>    <img src="1.png"></div><br><div>    <img src="1.jpg"></div>

效果图如下:

CSS如何解决前端图片变形的问题

 可以看到,无论是宽度超过容器,还是高度超过容器,还是宽高都不超过容器,都能全部居中显示在容器内,不会裁切。

三、将图片变成背景,通过改变背景尺寸等可以任意改变图片在容器中显示的效果,操作是最方便的:

<style type="text/css">div{    width: 200px;    height: 200px;    border: 2px solid red;    background-repeat: no-repeat;    background-position: center;    background-size: cover;}</style><div style="background-image: url(1.jpg);"></div>

效果图如下:

CSS如何解决前端图片变形的问题

CSS如何解决前端图片变形的问题

通过上图更改background-size,我们可以看到方法一和方法二都能轻松实现。而且,最后一种cover效果是最理想的,即居中显示,占满整个容器并且不变形。这种方法如果不考虑seo的话,用起来还是很顺手的。但是,如果您是资讯站、图片展等等,千万不要用这种方法,否则你的图片将很难被搜索引擎收录。

四、如果有什么方法,即能实现第三种方法的效果,又能兼顾SEO就好了。这里就要隆重推出:object-fit和object-position。你可以这么理解,object-position相当于background-position,它的默认值是50% 50%,也就是居中,所以一般不写,加了object-fit,默认就居中了。而object-fit,相当于background-size,即图片填充方式(这里不是图片大小)。

<style type="text/css">div{    width: 200px;    height: 200px;    border: 2px solid red;}img{    width: 100%;    height: 100%;    object-fit: cover;}</style><div>    <img src="1.jpg"></div>

效果图如下:

CSS如何解决前端图片变形的问题

CSS如何解决前端图片变形的问题

通过上图,我们几乎看到了和用背景方法设置效果几乎一模一样的结果。可以这么说,这就是背景方法的翻版,并且还可以避免背景图不会被搜索引擎不收录缺点。如果不考虑兼容IE,为什么不用这种方法呢。妈妈再也不用担心编辑乱上传图片了!

注意:图片一定要设置宽高,否则设置object-fit无效。将图片设置为何容器一样的宽高就可以了。容器也不需要设置溢出隐藏,object-fit会自动隐藏超出图片的宽高部分。

关于“CSS如何解决前端图片变形的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: CSS如何解决前端图片变形的问题

本文链接: https://www.lsjlt.com/news/251829.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS如何解决前端图片变形的问题
    这篇文章将为大家详细讲解有关CSS如何解决前端图片变形的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、让图片的宽度或者高度等于容器的宽度或高度,多余的裁掉,然后让图片居中:<style&nb...
    99+
    2023-06-08
  • 探讨如何在Vue中避免图片变形问题
    Vue是一种流行的JavaScript框架,它在开发现代Web应用程序方面非常有用。在Vue中添加图像是一个常见需求,但很多时候我们会遇到这样的问题:当图片尺寸与容器尺寸不同时,图片会变形。这篇文章将探讨如何在Vue中避免图片变形。为什么会...
    99+
    2023-05-14
  • 如何解决Android中Glide与CircleImageView加载圆形图片的问题
    这篇文章将为大家详细讲解有关如何解决Android中Glide与CircleImageView加载圆形图片的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 不使用占位符注释掉这两句代码即可。.pl...
    99+
    2023-05-30
    glide
  • 如何在前端中解决跨域问题
    如何在前端中解决跨域问题?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:1.)&...
    99+
    2023-06-15
  • 如何解决vue前后端端口不一致的问题
    本篇内容主要讲解“如何解决vue前后端端口不一致的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决vue前后端端口不一致的问题”吧!vue前后端端口不一致在config  i...
    99+
    2023-06-20
  • laravel图片访问不到问题如何解决
    这篇“laravel图片访问不到问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“laravel图片访问不到问题如何...
    99+
    2023-07-05
  • web前端网络跨域问题如何解决
    今天小编给大家分享一下web前端网络跨域问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是跨域浏览器有一个重要...
    99+
    2023-07-02
  • vue前后端分离如何解决每次请求session都会变的问题
    目录vue前后端分离每次请求session都会变解决方法vue前后端分离session丢失,前端解决方式1、解决前端每次发送的ajax都是形成新的会话2、本地测试时结果发现还是无法成...
    99+
    2022-11-13
    vue前后端分离 vue请求session vue session
  • 如何解决HTML+CSS布局img图片元素出现空白的问题
    这篇文章主要介绍如何解决HTML+CSS布局img图片元素出现空白的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、将图片转换为块级对象即,设置img为:display:block;在本例中添加一组CSS代码:...
    99+
    2023-06-27
  • vue如何解决axios请求前端跨域问题
    目录前言一、为什么会出现跨域的问题?二、解决方案跨域资源共享(CORS)写在最后前言 最近在写纯前端的vue项目的时候,碰到了axios请求本机的资源的时候,出现了访问报404的问...
    99+
    2022-11-12
  • 如何解决VueJs前后端分离跨域问题
    这篇文章给大家分享的是有关如何解决VueJs前后端分离跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用vue-cli搭建的vue项目可以使用在项目内设置代理(proxy...
    99+
    2022-10-19
  • 实例详解CSS渐变锯齿问题如何解决!
    那么为啥会产生锯齿感呢?传统网页的呈现是基于像素单位的,对于这种一种颜色直接过渡另外一种颜色状态的图片,容易导致可视质量下降(信息失真)。因而对于普通的渐变元素,像是上述写法,产生了锯齿,这是非常常见的在使用渐变过程中的一个棘手问题。简单的...
    99+
    2022-11-25
    锯齿 渐变 css
  • 如何解决IE6下PNG图片透明的问题
    本篇内容介绍了“如何解决IE6下PNG图片透明的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PNG图...
    99+
    2022-10-19
  • 如何解决php qrcode不生成图片的问题
    本篇内容主要讲解“如何解决php qrcode不生成图片的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决php qrcode不生成图片的问题”吧!php qrcode不生成图片的解决...
    99+
    2023-06-20
  • 如何解决解决jupyter notebook图片显示模糊和保存清晰图片的问题
    这篇文章主要介绍如何解决解决jupyter notebook图片显示模糊和保存清晰图片的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!jupyter notebook 图片显示模糊的解决办法加入这几行代码即可:矢...
    99+
    2023-06-14
  • 前端vue打包项目,如何解决跨域问题
    目录vue打包项目解决跨域vue项目解决跨域(打包上线无需手动切换url)vue打包项目解决跨域 前段时间做一个vue打包成安卓和IOS的App,遇到了跨域问题,直接拿了之前项目的配...
    99+
    2022-11-13
  • 如何解决HTML5中图片之间缝隙的问题
    这篇文章给大家分享的是有关如何解决HTML5中图片之间缝隙的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在做h6的项目,碰到了一个百思不得其解的问题,几个img标签中间有大...
    99+
    2022-10-19
  • 如何解决thinkphp5中图片处理遇到的问题
    这篇文章将为大家详细讲解有关如何解决thinkphp5中图片处理遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图片处理中遇到的问题我额外把图片的处理和上传封装成了一个类,返回保存的图片路径在图片...
    99+
    2023-06-15
  • 如何解决pycharm调试时显示图片的问题
    这篇文章主要介绍如何解决pycharm调试时显示图片的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!想了想,没准有人会跟我犯同样的错误(好吧,,可能没几个)写篇趟坑日志。点击show python promt输入...
    99+
    2023-06-14
  • thinkphp图片跨域不显示问题如何解决
    今天小编给大家分享一下thinkphp图片跨域不显示问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先,让我们了...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作