大家好,ItEye的管理员好,废话我就不说了,先看看这个问题。
1.首先保证你的网速够慢(网速越慢看的越清楚),比如访问这个地址http://www.iteye.com/topic/125394 或者直接ctrl+f5刷新我当前的这个帖子,应该可以看到如下图的效果,帖子里的图片在加载过程中撑开了页面,出现了横向滚动条。(以下所有的图片如果看不清楚的话请点击查看原图)
—————————————————————粗糙糙的分割线————————————————————
2.进一步观察,我用的是chrome自带的调试工具,也可以用firebug或其他来看。
如下图所示,在图片加载过程中,该图片的实际宽度为1284px,并且在dom结构中看到该img并没有设置特别的样式或属性。
—————————————————————粗糙糙的分割线————————————————————
3.观察图片完成后的情况。如下图所示。可以看到原来的img标签现在加上了width以及height属性,推测这里可能是用js判断图片load之后再加上的。
—————————————————————粗糙糙的分割线————————————————————
4.问题总结:图片未加载之前没有限制宽高,所以导致网速慢的情况下,未设定宽高的图片溢出了。
—————————————————————粗糙糙的分割线————————————————————
5.问题解决:目前我有2种思路,一是js控制,但不是在图片加载完成之后,而是在domReady的时候就执行宽高限制,要求是后台在返回页面结构的时候,需要包含图片的原始尺寸大小(例如在图片文件名里或img标签的属性里包含图片的原始宽高信息),例如点点网的feed流里的图片(如下图,看不清的话可点开在新页面看),js处理的做法优点是比较灵活,宽高都可以控制,缺点是引入了一些业务关系不大的代码。
还有一种思路就是通过css来处理,例如下面我们网站的例子(福利图)http://www.123youxi.net/article/detail/26
关键就是这个img标签的样式, max-width:712px; 这句话保证了图片最大宽度,当然,一般情况下同时也需要设置父容器overflow:hidden。
同时考虑到IE浏览器不支持max-wdith,一般情况下需要增加一个css表达式,等价于max-width的一般写法如下:
*html .xxx img{width:expression(this.width>712?"712":auto);}
css的方式优点在于通过样式控制,可以在图片加载过程中就限制宽度,并且不会引入和业务逻辑无关的代码,个人比较推荐这种做法。缺点就是IE下引入了css表达式,并且只限制了宽度。当然,正常情况下限制宽度已经足够用了。
以上是个人愚见,请多指教。
- 大小: 308.6 KB
- 大小: 369.8 KB
- 大小: 465.4 KB
- 大小: 199.1 KB
- 大小: 125.9 KB
分享到:
相关推荐
iteye博客抓取 网页解析 关键字提取 jsoup解析网页 包含数据库文件
5. 错误处理和重试机制:确保在遇到网络问题或验证码时,工具能够恢复并继续运行。 二、工具的使用 1. 安装依赖:首先,用户需要安装必要的Python库,如requests、BeautifulSoup等,这些可以通过pip进行安装。 2....
javaMD5加密及登录验证(备忘) - Hibernate - Java - ITeye论坛.mhtjavaMD5加密及登录验证(备忘) - Hibernate - Java - ITeye论坛.mhtjavaMD5加密及登录验证(备忘
姜铁的简历可能会详细列出他在这些领域中的经验,包括他熟练掌握的编程语言、参与过的项目类型、使用过的关键工具以及他在团队协作和问题解决上的能力。在阅读这样的简历时,招聘者或同行通常会关注他的技术栈是否与...
模仿iteye代码高亮显示,意味着我们要实现一个类似的功能,使得代码在网页上展示时,关键字、变量、函数等元素能够以不同的颜色和样式突出显示。iteye是一个知名的开发者社区,它提供了良好的代码高亮功能,这有助于...
2.将图片上传与管理的JSP页面改写成SERVLET,同时去除JSON包; 3.添加图片压缩功能,对超出的宽高压缩成指定的值; 4.添加上传附件功能; 5.添加图片、附件按日期文件夹分类管理的功能; 6.添加上传图片、附件的...
ITeye Java编程 Spring框架 AJAX技术 Agile敏捷软件开发 ruby on rails实践 - ITeye做最棒的软件开发交流社区.files\homepage.css
在软件开发中,标签通常用于分类或者追踪,但在这个上下文中,它的具体含义可能需要参考博主003在iteye上的相关帖子或说明来理解。 【压缩包子文件的文件名称列表】: "NO.3 Keeper V1.0.3" 这个文件名暗示了我们...
js中escape对应的C#解码函数 - Corrinejtt - ITeye
NULL 博文链接:https://zhengkaifl.iteye.com/blog/1190201
标题中的“用于整理iteye上的blog文章的脚本,方便制作chm,在firebug上执行”揭示了这个压缩包文件的主要功能。它包含了一个脚本,这个脚本被设计用来整理在iteye博客平台上的文章,并将这些文章转换成CHM...
测试用的HelloWorld工程源文件 博文链接:https://anweixiao.iteye.com/blog/126252
简单 易学 初级 主要针对初学JSP语言的学者,有源代码,布局管理
NULL 博文链接:https://wandejun1012.iteye.com/blog/2319980
eclipse开发环境(支持tomcat、maven、jetty、JBoss) - - ITeye技术网站
NULL 博文链接:https://java-flex.iteye.com/blog/866211
2013Myeclipse破解文件 博文链接:https://geertu.iteye.com/blog/2296448
进入程序一运行就出来这个显示,
Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站