`
ygsilence
  • 浏览: 337340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

防止表格和层被内容撑开的方法(转)

    博客分类:
  • html
阅读更多

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

一、直接在网页里设置图片大小,比如代码:<img src="/u/info_img/2007-12/31/www.xker.com.jpg" width="600" height="500" border="0">,这样虽然可以限制了图片大小,但是需要在上传图片之前手动修改图片大小,否则上传的图片就会变形。 

二、使用如下代码:<img src="/u/info_img/2007-12/31/www.xker.com.jpg" onload="javascript:if(this.width>600}{this.resized=true;this.style.width=600;}"> 

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

三、我们可以针对表格的属性来限制大小防止被撑开,比如在<table width="600" border="0" cellpadding="0" cellspacing="0">里添加代码“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; //注意表格使用word-break: break-all属性无效(firefox中)

如果是div层,请用: 
div { 
table-layout: fixed; 
word-wrap: break-word; 
width: 加上宽度; 
overflow: hidden; (让多出来的不显示。) 
}

分享到:
评论

相关推荐

    html div没有被撑开的原因及解决办法

    通过使用`lj_设置子dom的height 100%即可.png`、`必须清除子dom的float才能撑开父dom.txt`、`absolute存在的时候floate会失效.txt`、`css - div层为什么没有被自动撑开-.url`这些资源,你可以更深入地学习和实践这些...

    table 中,如何使得单元格的内容不换行,单元格不被撑开,显示不下的时候在结尾处显示“...”

    总结,要让表格单元格内容不换行,单元格不被撑开,并在显示不下的时候在结尾处显示“...”,你需要通过CSS设置`white-space`、`overflow`和`text-overflow`属性,并为单元格设定一个固定的宽度。同时,确保所有可能...

    外部DIV如何强制宽度不被内部DIV撑开

    将外部`&lt;div&gt;`的`overflow`属性设置为`hidden`可以隐藏超出该`&lt;div&gt;`边界的内容,从而防止内部元素撑开外部`&lt;div&gt;`的宽度。这意味着,如果内部`&lt;div&gt;`的宽度超过外部`&lt;div&gt;`的宽度,超出的部分将被裁剪,而外部`...

    css实现不再让内容把td撑开的常用解决方法

    在网页设计中,经常遇到一个问题,那就是表格中的单元格(td)会被其内部的内容自动撑开,导致表格的布局混乱。这种情况通常是由于内容长度超过了单元格的预设宽度,浏览器会默认扩展单元格来适应内容。然而,我们...

    网页表格或div层在网页中被撑开解决之道

    标题和描述中提到的问题——“网页表格或div层在网页中被撑开”,是设计师经常遇到的挑战。当表格或div容器内的内容(如图片、文字)过大时,如果不进行适当处理,会导致整个页面布局失衡,影响用户体验。以下是一些...

    表格单元格td设置宽度无效始终有内部的内容撑开

    然而,在实际操作中,有时我们会遇到一个棘手的问题:给`&lt;td&gt;`设置宽度(`width`)后,发现宽度设置似乎无效,单元格的宽度仍然被其内部的内容撑开。这个问题在标题和描述中被提及,让我们详细探讨一下这个问题的...

    DevExpress.XtraGrid 是一个很强大的表格显示组件

    DevExpress.XtraGrid 是一个很强大的表格显示组件,但如果表格的每一列用设计器来设计还是很花时间的,也不通用。但如果使用了这个类,做一个表格就非常简单了,只需传字段、显示的名称、宽度,即可自动生成表格出来...

    前端与移动开发之表格

    表格对齐方式center/right/left" border="表格边框 默认没有边框" cellpadding="文字和单元格之间边距 默认为1" cellspacing="单元格和单元格之间间距 默认为2" width="表格宽度" height="表格高度"&gt; &lt;thead&gt; ...

    antd 表格列宽自适应方法以及错误处理操作

    当不给某列设置宽度时这一列的...这个表格中只有序号有固定宽度, 那么余下所有列平分表格剩余宽度, 被定为的权属人的新列宽度是由内容撑开的, 所有新列比原列短, 就出现了空缺 表格空缺 结论: 所有被定位的列一定要

    里面的div怎么撑开外面的div让高度自适应

    当涉及到容器(外层 `div`)和内容元素(内层 `div`)时,有时我们需要实现一个动态高度的效果,即容器的高度能够根据其内容自动调整。标题和描述中提到的问题正是关于这个需求:如何让内部的 `div` 撑开外部的 `div...

    使用CSS的overflow属性防止float撑开div的方法

    许多应征前端工程师的人,在面试时都会被问到这类float的问题。例如:div元素内的两个子元素p都float:left,外面的div会变成没有高度,此时该怎么办呢?通常解法是在排版流里面的元素加一个after的伪元素,将它设成...

    web开发光标停在文字最后 防止前台页面撑开

    #### 二、避免页面被文字撑开 为了避免网页中的长字符串或宽文本造成页面布局的混乱,可以通过CSS来限制文本的宽度,并控制文本换行方式。例如: ```html .aaa { word-break: break-all; /* 自动换行 */ width...

    JavaScript多行文本一行显示,点击可显示单元格全部内容的Table

    下面的代码解决了这个问题:当表格被载入的时候,TD的宽度是原定的长 度,不会撑开TD,也不会影响其他TD,点击某行会按照本行所有单元格中行数最多的单元格的长度伸长行高。用户体验很好。 【优点】 1、对开发人员...

    colResizable改变表格列宽

    colResizable是拖动表格线条改变列宽的工具,非常好用

    javascript 使td内容不换行不撑开

    在网页设计中,有时我们需要确保表格(`&lt;table&gt;`)中的单元格(`&lt;td&gt;`)内容不换行且不撑开单元格的宽度。这通常发生在显示长字符串或者需要控制表格布局的情况下。标题和描述中提到的问题是关于如何利用CSS来实现这...

    子Div使用Float后撑开父Div的几种方法

    一个Div包含了多个子Div,并且子Div使用了浮动后,父Div确不能被撑开,如下图: 部分代码如下: 复制代码代码如下: &lt;style&gt; #div1{border:1px solid red;float:left;} #div2,#div3{float:right;border:1px ...

    表格单元格内容超出时显示省略号效果(实现代码)

    表格单元格内容超出预设宽度时,常常需要对内容进行显示处理,以保证页面布局的整洁性和用户的阅读体验。在这篇文章中,我们将讨论如何通过HTML和CSS实现表格单元格内容超出时显示省略号的效果。 首先,需要了解的...

Global site tag (gtag.js) - Google Analytics