Chinaunix首页 | 论坛 | 博客
  • 博客访问: 210935
  • 博文数量: 29
  • 博客积分: 3470
  • 博客等级: 中校
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-17 15:35
文章分类
文章存档

2011年(2)

2010年(17)

2009年(2)

2008年(8)

我的朋友

分类:

2010-07-09 13:40:01

在我们设计网页的时候,总会遇到一些不愉快的事情,最常见的莫过于在后台添加内容后才发现显示的页面被撑开,导致网页极度不美观。以前大家基本上都是设计表格,网上自然不少对于的解决方法,如今还有div css标准设计,很少看到相关好的方法,现在潇湘在线把平时找到的防止表格被撑开的好方法总结归纳一下,和大家一起分享。

一、直接在网页里设置图片大小,比如代码:
这样虽然可以限制了图片大小,但是需要在上传图片之前手动修改图片大小,否则上传的图片就会变形。

二、使用如下代码

这种方法会在调用图片的时候,自动按比例缩小到指定的宽度,不会引起图片的变形,并且也不会撑破表格,但是缺点是,如果图片太大,在图片下载过程中,也就是图片显示过程中,会先以图片原大小显示,这时就会撑破表格,页面很难看,二当图片完全显示后,图片又会自动缩小。

三、我们可以针对表格的属性来限制大小防止被撑开,比如在里添加代码“style="table-layout:fixed;word-wrap:break-word;word-break;break-all;"”,
其中“table-layout:fixed; ”是为了将表格布局固定住,就可以有效地防止表格被撑开,
“word-wrap:break-word; ”是控制换行的,也就是强制执行换行,这个在文本内容较多的情况下需要使用到,特别是重复的内容出现,不执行换行的话,表格就被撑开了;
而“word-break: break-all; ”可以解决IE的框架被英文(非亚洲语言文本行)撑开的问题,但是不会强制换行,只显示表格宽度里的内容。

一般情况下只要用到“style="table-layout:fixed;word-wrap:break-word;"”就可以。当然,上面调用的语句可以定义在css里,比如

table {
    table-layout: fixed;
    word-wrap:break-word;
}        
   
四、用css控制图片自适应大小,代码如:
img {
    max-width: 600px; 
    width:expression(this.width > 600 ? "600px" : this.width);
    overflow:hidden;
}           
其中 max-width:600px; 在IE7、FireFox等其他非IE浏览器下最大宽度为600px,但在IE6中无效;width:600px; 在所有浏览器中图片的大小为600px,当图片大小大于600px,自动缩小为600px,在IE6中有效;而 overflow:hidden; 指将超出设置大小的部分隐藏,避免控制图片大小失败而引起的表格撑开变形。

五、最后总结一下最实用的代码
如果是表格,请用:
 table {
    table-layout: fixed;
    word-break: break-all;
}           
如果是div层,请用:
                                    
div {
    table-layout: fixed;
    word-wrap: break-word;
    width: 加上宽度;
    overflow: hidden; (让多出来的不显示。)
}            
阅读(1062) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-07-23 09:25:12

www.bjzhuanxian.cn 上海到北京货运 www.daoteng56.com 物流公司 www.an56.com 物流公司 www.mxzbz.com 上海包装 www.shanghaihuoyun.com 运输公司 www.an56.com 运输公司 www.mxzbz.com/zhen-kong-bao-zhuang/ 真空包装 www.021-62844414.com 物流公司 www.b2bgouwu.com.cn 上海货运公司 www.mxzbz.com 包装厂 www.dajianyunshugongsi.cn 大件运输 erp162z华宜物流公司