千家信息网

怎样快速解决图片溢出div的问题

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇文章给大家分享的是有关怎样快速解决图片溢出div的问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前两天编写了一个前端页面,在本机
千家信息网最后更新 2025年02月03日怎样快速解决图片溢出div的问题

本篇文章给大家分享的是有关怎样快速解决图片溢出div的问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

前两天编写了一个前端页面,在本机上显示一切正常。不过在不断的测试中,发现了一个严重的问题,如果图片过大,会撑破div溢出来。再由于页面是自适应页面,根据不同分辨率的显示器会做出相应的div宽度调整,所以图片即使不大,但是因分辨率不同也会出现溢出的情况。

这里探讨总结一下解决方法。

首先我们先来做个简单的css布局:

XML/HTML Code复制内容到剪贴板

  1.               div图片溢出的解决方案                      
    小图片

下面我们再插入尺寸大于div的图片

大图片

来看看效果:


这里的图片过大,溢出了div,这里来探讨一下解决方案:

解决方案一

在css中设置该图片的样式,把最大宽设置为小于它父级div的宽

img {    max-width: 730px;}

但是这样对于不同分辨率的屏幕,也会出现溢出的问题

先来看一下1366*728的分辨率(本机分辨率)下的图片显示情况:

似乎解决了问题,我们把分辨率调为 1024*768,来看看效果:

图片还是溢出来了,对于这种分辨率的屏幕,肯定体验很不友好。

那么,为了解决还是溢出的问题,可以加入另外一种方法:

解决方案二

不显示溢出的部分:

overflow: hidden;

这个代码加在div_left 下面:

CSS Code复制内容到剪贴板

  1. #div_left {       width:70%;       height: 800px;       float:left;       padding: 20px;         overflow: hidden;   }

显然,这种方法的弊端就是图片不能完全显示,我们来试试:



虽然解决了溢出的问题,但是显示效果上不友好,如果被隐藏的部分刚好有重要的信息,那么这样的设计是不合理的。

最终解决方案

要满足解决图片溢出div问题,同时图片能完整显示,也要兼容不同的分辨率这三个条件,这里用一段JavaScript代码来解决。

思路是获取 div 的宽,然后动态设置图片的宽度,就这么简单。

在敲代码之前,先删除 overflow:hidden; 代码,这种"将就"的处理方法我们应该摒弃。

JavaScript Code复制内容到剪贴板


  1. _window.onload = function(){       var getEle = document.getElementsByTagName("img");       var getEle_divLeft = document.getElementById("div_left");       for(var i=0; i

在1028*768的屏幕下的效果:


  

在1366*768下的效果:

可能存在的bug及解决对策

有些div在开始加载的时候,会因为图片的宽度比较大而变宽,然后再由于布局浮动的影响再变小,由于图片获取的是一开始的div宽度,所以他的宽度还是不变。

这里给出保守的解决方案:

在css中,先把图片属性设置为none,不显示。在加载javascript代码的时候,设置宽高,再显示出来:

CSS Code复制内容到剪贴板

  1. img {       max-width: 730px;       display: none;   }

在JavaScript后面加入显示图片代码:

getEle[i].style["display"] = "inline";

在代码中的位置:

JavaScript Code复制内容到剪贴板

  1. _window.onload = function(){       var getEle = document.getElementsByTagName("img");       var getEle_divLeft = document.getElementById("div_left");       for(var i=0; i

这样就解决了这个图片显示溢出div问题,并满足上面三个条件。

完整代码:

XML/HTML Code复制内容到剪贴板

  1.               div图片溢出的解决方案                        
    小图片 大图片

补充:

如果浏览器不支持max-width属性,可以给出一个判断,具体思路如下:

如果浏览器不支持某个CSS属性,那么得到的返回值为undefined,如果支持,则返回空,基于这一点,我们可以加一个判断

代码:

XML/HTML Code复制内容到剪贴板

  1. if(getEle[0].style["max-width"]==''){   //支持max-width的浏览器       }else{   //不支持max-width的处理   }

JavaScript Code复制内容到剪贴板

以上就是怎样快速解决图片溢出div的问题,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

图片 问题 代码 宽度 内容 分辨率 剪贴板 方案 解决方案 剪贴 支持 效果 不同 方法 屏幕 属性 浏览器 还是 部分 页面 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州网络技术主要是干嘛的 汉阳软件开发多少钱 天津市软件开发企业工伤保险比例 云阳天气预报软件开发 北京新维网络技术有限公司 黑河网络安全会议 数据库重启归档进程 黄埔可靠网络安全服务 小丑解码服务器 全球互联网网络安全问题分析 如何做好顾客数据库 大庆行业专业软件开发 研究生管理系统数据库 滨海软件开发有限公司 申请建筑软件开发博士 大学数据库管理系统学什么 金山区特殊软件开发设计规范 玩其他服务器手机会卡吗 途娱网络技术上海有限公司 国内时间同步服务器 网络安全专业人才缺失存在问题 图书馆系统的数据库关系模型 服务器高危组件卸载工具 八卦与网络安全 网络安全的手抄报图片一等奖 网络安全与法治是啥专业 云驰网络技术服务有限公司 益阳软件开发报价 湖南网络安全硬件设备哪家好 维护网络安全共建文明家园
0