图片太大导致div排版网页撑破变形


由于网站重新采用css设计,没有考虑到文章中图片太大导致div+css网页被撑破变形的情况,因为以前我一般是定义了文章中图片的width,height,而上传的文章就没有考虑到这点,于是导致了图片太大,大于容器DIV时,容器被撑破,网页变形,在试过了多种方法以后,终于找到解决网页被撑破的方法(附表格被撑爆解决方法)
由于网站重新采用css设计,没有考虑到文章中图片太大导致div+css网页被撑破变形的情况,因为以前我一般是定义了文章中图片的width, height,而上传的文章就没有考虑到这点,于是导致了图片太大,大于容器DIV时,容器被撑破,网页变形,在试过了多种方法以后,终于找到解决网页被 撑破的方法(附表格被撑爆解决方法)

1.曾经尝试的方法
#ViewBlog img {  
    width:expression(document.body.clientWidth > 540? "540px": "auto" );
    max-width:95%;
    overflow:hidden;
    }

这个方法是定义容器ViewBlog中图片的属性,
第一句取自蓝色理想的文章,就是当图片宽度大于540时就设置图片宽度为540px,然而非常遗憾的是这句判断恒为真,也就是说,无论何时容器 ViewBlog中所有图片大小都宽度为540px,虽然解决了网页被撑爆的问题,然而非常遗憾的,一些小图也变得很大,很多的锯齿
第二句设置图片最大宽度为容器div宽度的95%,当图片大于容器95%以后,图片自动缩小,然而再次非常遗憾的,我们的IE大哥不支持max-width方法
第三句是设置超出的隐藏,设置在这里貌似没有作用

2.解决方法
由于容器ViewBlog里面还嵌套了li,想到了设置li的overflow属性
#ViewBlog li {
overflow:hidden;
}

在IE下,FF,OPERA等浏览器下均支持,也可以在网页中这样写

<li style="overflow:hidden;"><img src="www.dayanmei.com.jpg" /></li>

如果是表格可以在放置图片的表格列里面加属性
<table width="300px" style="table-layout: fixed;word-break: break-all"><tr><td><img src="www.dayanmei.com.jpg" /></td></tr></table>
  • .... | 发表于:2008-11-05 21:50:46
  • 加个!important