`
wb1991wb
  • 浏览: 157099 次
  • 来自: 上海
社区版块
存档分类
最新评论

【转】防止<TD>变形

阅读更多

使用<table> 进行页面开发,会遇到字符串很长将table撑开变形的问题 ,在网上搜了一些,终于找到 一个比较好用的解决方法。贴出来,方便以后使用。在table标签中加入如下的style就行了。
<table border="0" cellspacing="0" cellpadding="0" width="200" align="center" style="table-layout:fixed;word-wrap:break-word;word-break:break-all">

很简单,加一个style ..

<td style="word-wrap:break-word:" width="160">aaaaaabbbbcccdddeeffesfsdffdfdsfsdfasdfasdfasfadfadf</td>

这样就不会让table撑破了!

<table width="100%"  border="0" cellspacing="0" cellpadding="0" style="table-layout:fixed;word-break:break-all"><tr>
<td style="word-wrap:break-word;word-break:break-all">xxx</td></tr></table>

1.

单元格自动换行

只要在table属性中写上style="table-layout: fixed"即可,如下

<table width="80%" height="166" border="0" style="table-layout: fixed">

表格就实现了单元格的压缩.但会对单元格内的文字显示不全.

2可以解决这个问题 .

2.对单元格的控制.

<td width="50%" style="word-wrap: break-word;">



不换行 简单些td中加white-space: nowrap;就行了

换行如下:

<table style="table-layout:fixed;" width='100%'>
<tr>
<td width=50>asdasd</td>
<td width="100%" style="word-wrap : break-word;word-break: break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890abcdefghigklmnopqrstuvwxyz1234567890</td>
</tr>
</table>


在Table中加入如下样式:
style="table-layout: fixed;WORD-BREAK: break-all; WORD-WRAP: break-word"

在默认情况下网页是不会自动换行的,如果字符很长的话,就会
使网页变型,因为它是通过绝对长度来控制的,我们在实际使用
中可是不想让它这样,其实只要在表格控制中添加一句
<td style="word-break:break-all">就搞定了。

下面是一段示范的代码:
<body>
<table width="100" border="0"><!-- 控制表格的长度来换行 -->
<tr>
<td width="628" style="word-break:break-all"> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</td>
</tr>
</table>
</body>

在用表格做网页排版的时候,有时会碰到一段连续的英文词或者连续的标点号,会出现把网页就撑开的现象。
可以用css强制换行:

<table style="table-layout: fixed;" >
<tr>
<td style="word-break: break-all; word-wrap:break-word;">abcdefghtiasdhjkasdha<td>
</tr>
</table>

table-layout: fixed 可以让表格中有连续的标点号之类的字符时自动换行
word-break: break-all; word-wrap:break-word 此样式可以让表格中的一些连续的英文单词自动换行



<table width="100" border="0"><!-- 控制表格的长度来换行 -->
<tr>
<td width="100" style="table-layout: fixed;WORD-BREAK: break-all; WORD-WRAP: break-word"
> RippleRippleRippleRippleRippleRippleRippleRippleRippleRippleRippleRippleRippleRipple
</td>
</tr>
</table>



<table width="100%"  border="0" cellspacing="0" cellpadding="0" style="table-layout:fixed;word-break:break-all"><tr>
<td style="word-wrap:break-word;word-break:break-all">xxx</td></tr></table>

1. java 版 

    //以空格为分割符,将长字符串分段, 末段小于2个字符的合并到前一个段
    private static String cutLongWord(String longWord) {

        int wordNumber=5;


        if (Report.isEmpty(longWord)) {
            return longWord;
        }

        StringBuilder cutWord = new StringBuilder();

        if (NumberUtils.isNumber(longWord)) {

            BigDecimal big = new BigDecimal(longWord);
            String tempLongWord = big.setScale(1, BigDecimal.ROUND_HALF_UP).toString();

            longWord = tempLongWord.length() - 2 > longWord.length() ? tempLongWord : longWord;

            while (longWord.length() > wordNumber) {
                cutWord.append(" " + longWord.substring(0, wordNumber));
                longWord = longWord.substring(wordNumber, longWord.length());
            }

            if (cutWord.length() == 0 || longWord.length() > 2)
                cutWord.append(" ");

            cutWord.append(longWord);

            return cutWord.substring(1, cutWord.length());

        } else {

            String[] words = longWord.split(" ");
            for (String word : words) {
                if (word.length() <= wordNumber) {
                    cutWord.append(" " + word);
                    continue;
                }

                while (word.length() > wordNumber) {
                    cutWord.append(" " + word.substring(0, wordNumber));
                    word = word.substring(wordNumber, word.length());
                }

                // If the length of the last string is less than 3, merge it to
                // last but one.
                if (word.length() > 2)
                    cutWord.append(" ");

                cutWord.append(word);
            }

            return cutWord.substring(1, cutWord.length());
        }
    }








2. js版

<script type="text/javascript">
// <![CDATA[
    function toBreakWord(intLen){
        var obj=document.getElementById("ff");
        var strContent=obj.innerHTML; 
        var strTemp="";
       
        while(strContent.length>intLen){
            strTemp+=strContent.substr(0,intLen)+" "; 
            strContent=strContent.substr(intLen,strContent.length); 
        }
       
        strTemp+=" "+strContent;
        obj.innerHTML=strTemp;
    }
   
    if(document.getElementById && !document.all) toBreakWord(37);
// ]]>
</script>


<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td nowrap>
<span style="text-overflow: ellipsis; overflow-x: hidden; width: 300px;">水果拼盘:西瓜、苹果、哈密瓜,或者任何别的什么</span>
</td>
</tr>
</table>


<td nowrap>
  <div title='<%# Eval("Context") %>' style="text-overflow: ellipsis; overflow-x: hidden; width: 120px;">
                                    <%# Eval("Context")%>
  </div>
</td>



加个css就能搞定,你的意思是先把td固定住,然后输入的内容td装不下了就变成...是吧! 把这个加到你的css文件里 .ctltable{ border-collapse: collapse; table-layout:fixed} .ctltable td { text-overflow:ellipsis; overflow:hidden; white-space: nowrap; padding:2px} ctltable加在table上就可以了 <table class="ctltable">

分享到:
评论

相关推荐

    JavaScript Table行定位效果

    &lt;td&gt;1&lt;/td&gt; &lt;td&gt;2&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;3&lt;/td&gt; &lt;td&gt;4&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/body&gt; &lt;/html&gt; 给tr设置relative后就能相对table定位了,看来很简单啊,但问题是这个方法ie8和ff都无效,而且存在很多问题,所以...

    让你的表格不因被内容撑破而变形

    &lt;td&gt;&lt;img src="example.jpg" alt="示例图片"&gt;&lt;/td&gt; &lt;td&gt;更长的文本内容...&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/body&gt; &lt;/html&gt; ``` ### 四、总结 通过上述方法,我们可以有效地防止表格因为内容撑破而变形。关键在于使用...

    鼠标拖动改变表格列宽

    同时,更新`&lt;td&gt;`或`&lt;th&gt;`的`style.width`属性。 3. **边界处理**:需要考虑最小列宽限制,以避免列宽过小导致内容无法显示。此外,也要防止用户拖动到其他列,导致列宽分配不合理。 4. **事件解除**:在`mouseup`...

    table表格某一td内容太多导致样式混乱的解决方案

    - 对于长文本,可以考虑使用`&lt;span&gt;`或其他内联元素来包裹部分内容,并添加CSS控制特定行内元素的显示,如使用`text-overflow: ellipsis;`和`overflow: hidden;`来显示省略号,提示用户内容被截断。 - 应用适当的内...

    16春季福师《网页设计技术》在线作业一.pdf

    17. **HTML `&lt;table&gt;` 标签**:`&lt;td&gt;`标记中的`border`设置边框宽度,`padding`设置内部填充,`cellspacing`定义单元格间的距离,`bgcolor`指定背景颜色,`width`设定表格宽度,`nowrap`防止内容换行,`valign`控制...

    春季福师网页设计技术在线作业一.pdf

    `&lt;td&gt;`标记中的`border`设置边框宽度,`padding`设置内部边距,`cellspacing`设置单元格间距,`bgcolor`用于单元格背景色,`width`设定表格宽度,`valign`和`nowrap`分别用于垂直对齐和防止内容换行。 18. **URL**...

    艾默生 变频器TD3300用户手册.pdf

    它确保材料在生产过程中保持恒定张力,防止断裂、皱褶或拉伸变形。艾默生TD3300变频器提供了一种精确和可靠的解决方案,以实现对张力的有效控制。 在张力控制原理方面,TD3300变频器可能采用闭环控制策略,通过反馈...

    TD2-43型锚杆机托架的静力学分析

    2. **下坡并联慢速行走**:为保证安全,下坡时采用行走缸并联连接,降低行走速度,防止过快导致的安全隐患。下坡时的受力分析表明,行走缸的负载会因下坡角度和摩擦系数而有所不同。 3. **上坡行走**:虽然未详细...

    css样式限制、防止表格被连续英文字母拉长及控制大图片的网页宽度

    - **自动换行处理**:在单元格`&lt;td&gt;`中设置`word-wrap:break-word;`可以使得单元格中的文本在达到边界时自动换行,防止内容溢出。 ### 控制大图片的网页宽度 在网页设计中,图片的尺寸控制是一个重要的环节,尤其...

    高地压、软岩特大硐室施工变形测量

    在施工过程中,由于高地压和软岩特性,岩石的变形很难控制,因此必须采取有效措施监测变形情况,以便及时调整施工方案,防止事故发生。通常,变形测量方法包括使用全站仪、水准仪、激光扫描仪等先进仪器进行精确测量...

    TD-SCDMA& GGE生产测试培训

    - **定期检查**:检查夹具是否有磨损、变形等情况; - **清洁保养**:定期清理夹具,保持其表面干净; - **更换零件**:及时更换磨损严重的部件,确保夹具的功能完好。 综上所述,TD-SCDMA & GGE生产测试培训内容...

    TD650带式输送机毕业设计.zip机械设计毕业设计

    【TD650带式输送机毕业设计】是针对机械设计专业的一份综合性的学习成果,通常涵盖了理论分析、计算、结构设计、零部件选型、图纸绘制等多个环节。以下是该设计涉及的主要知识点: 1. 带式输送机基础知识:带式输送...

    让压管支护原理分析及让压特性实验研究

    在中图分类号中,TD353代表的是矿山压力及控制,这表示让压管支护原理的研究属于矿山工程领域的压力和控制技术,该技术在解决矿山开采中的支护问题方面具有重要意义。通过这项研究,可以为深部软岩巷道提供更加科学...

    大综合指标教您辨别木门质量优劣.pptx

    为防止木材在施工过程中吸潮变形,可以使用特殊的封闭底漆,如嘉宝莉的TD1220木器封底宝,有效阻止水分侵入。 总的来说,辨别木门质量优劣需综合考虑木材种类、干燥处理、工艺细节和表面处理等因素。选择与室内装饰...

    锚棚联合支护在处理采区变电所底鼓中的应用

    金属支架(如拱形金属支架、U型棚等)则起到支撑和保护作用,防止围岩进一步变形和崩落。 对于围岩条件和采动影响的分析,可以通过理论计算、数值模拟、现场实测等方法进行。这些分析结果能够帮助工程师了解顶底板...

    砼枕线路在露天矿的使用与维修

    - 防止爬行:砼枕可以有效防止轨道的爬行现象,爬行是轨道在列车通过时产生的横向移动,长期存在会导致轨道位置错乱,增加维修难度。 - 使用寿命长:混凝土的耐久性优于木材,不易腐朽、变形,可以大大延长轨道的...

    化工仪表自动化考试题库全解.pdf

    集散控制系统接地的目的一是防止静电干扰,二是为了防止电磁干扰。 9. DCS控制系统:DCS控制系统是分布式控制系统的简称。DCS控制系统基本是由操作站、控制器和I/O模块组成。我公司现用的复杂控制系统有分布式控制...

    急倾斜极松软煤层顺槽掘进防顶煤抽冒技术研究

    此外,文章中提到的DOI、TD263、PVCPVC等均为专业术语或是相关文献引用标志,它们属于学术期刊或研究报告中的引用编码和分类标记。这些编码和标记有助于检索和引用特定的研究成果。 文章中还出现了大量的数值信息,...

Global site tag (gtag.js) - Google Analytics