问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

<div>里面包含的<div>溢出的问题

发布网友 发布时间:2022-04-21 21:10

我来回答

3个回答

懂视网 时间:2022-04-22 01:32

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

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

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


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

  

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

大图片

  来看看效果:


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

解决方案一

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

img {
 max-width: 730px;
}

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

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


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


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

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

解决方案二

  不显示溢出的部分:

overflow: hidden;


  这个代码加在div_left 下面:

#div_left {
 width:70%;
 height: 800px;
 float:left;
 padding: 20px;

 overflow: hidden;
}


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




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

最终解决方案

  要满足解决图片溢出div问题,同时图片能完整显示,也要兼容不同的分辨率这三个条件,这里用一段JavaScript代码来解决。
  思路是获取 div 的宽,然后动态设置图片的宽度,就这么简单。

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

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代码的时候,设置宽高,再显示出来:

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

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

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


  在代码中的位置:

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


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

  完整代码:



 
 div图片溢出的解决方案









 
小图片 大图片

补充:

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

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

代码:

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



版权声明 作者:Tab Weng
Email:hlwyfeng(Geek)gmail.com 请将(Geek)换成@
出处:博客园 Tab Weng的技术博客:http://www.cnblogs.com/hlwyfeng
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

热心网友 时间:2022-04-21 22:40

因为你没有清楚浮动,在你行程安排的那个绿色框标签结束的前加上一个空的div设置样式, clear:both;

<div style="clear:both"></div>

热心网友 时间:2022-04-21 23:58

那是因为你没有清除浮动 你需要在 行程安排这个div里加个 overflow:hidden应该就好了追问添加overflow:hidden以后,就什么都不显示了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
软件工程专业要学什么 翡翠的分级 翡翠市场的几种分级标准 翡翠怎么分级别 史上最详尽翡翠等级划分,什么因素决定翡翠的价值 翡翠成品如何根据“工”进行分级? 《魔域桃园》草木有香电子书txt全集下载 非应届毕业生可以参加国考吗 没毕业可考公务员吗 没毕业的大学生可以考公务员吗 谁知道什么特别补阳、吃了就能一天几炮的? 武侠小说《天龙八部》原著中,无量剑的左子穆身上的貂毒是怎么解得? 阴阳和合散烧了之后的气味有什么用 段延庆给木婉清和段誉的阴阳和合散哪集? 龙门镖局里面陆三金和盛秋月服阴阳和合散是哪一集? 天龙八部中的四大恶人,是否做了很多恶? 大家看看,我突然感到奇怪,天龙八部里段誉被段延庆关进石屋,中了阴阳和合散, 虹猫*服下了阴阳和合散吗?动画片中有吗?有类似情节吗?在第几集? 从小就胖的人真的就瘦不了了吗? 40天瘦30斤的好方法?,,神啊,救救我.. 今年十一动迁房交易税有啥变化吗? 拆迁安置房卖掉要交税吗 动迁房办产证要交税吗 上海动迁安置房全写一个人名字需要缴税么 搪瓷 和不锈钢 锅 哪个更安全 拆迁安置房施工单位需要交纳税? 有没有轻松瘦腿的方法? 拆迁房有多套要不要收房产税 想买个小小的辅食锅,被市面上各种材质搞晕,搪瓷、陶瓷、珐琅、铸铁、不锈钢,哪种好啊? 拆迁补偿的房屋是否要交税 如何识别插线板是否装有漏电保护器? 这3个警示标志中,前2个是什么意思? 求生化警示标志和核辐射警示标志大图 工地施工现场哪种插线板符合使用规定 漏电保护插排有用吗?谁用过漏电保护插排,请帮帮忙,谢谢!!!请看下面,谢谢!!! 读书郎P100图案密码忘了如何能打开??? 这是漏保吗?怎么接插线板? 美国中情局所在地区的警戒标志 怎么将普通插线板加装一个漏电保护装置??求大神们教教 漏电保护的插座闸跳闸,所有插座没电,但是灯都有电。 鱼塘周边警示标志图片名称 插线板的线路截断增加一个漏保,地线可以这样接吗? 最终幻想零式hd刚开始的时候忘记调画面大小了,怎么办 最终幻想零式HD分辨率怎么修复 安装防爆空调1.5P多少钱 最终幻想零式hdcodex破解卡怎么办 《最终幻想:零式HD》PC版手柄键盘设置不对解决方法 控制两个1.5匹防爆空调用25安空开行吗? 最终幻想零式hd最低配置怎么设置 最终幻想零式HD卡顿