zoukankan      html  css  js  c++  java
  • css中table-layout:fixed 属性的用法

    table-layout:fixed 属性的用法:
    如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字

    不撑破表格的目的,一般是使用样式:table-layout:fixed。但是在Firefox下面,会有一些问题,参考Gmail的一些做法,做了几个

    测试,得出一种解决办法。 

    例1:(IE浏览器)普通的情况

    CODE:
    <table border="1" width="80"><tr><td>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>


     



    可以看到width=80并没有起作用,表格被字符撑开了。 

    例2:(IE浏览器)使用样式table-layout:fixed

    CODE:
    <style>
    .tbl {table-layout:fixed;}
    </style>
    <table class="tbl" border="1" width="80"><tr><td>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>


     



    width=80起作用了,但是表格换行了。 


    例3:(IE浏览器)使用样式table-layout:fixed与nowrap

    CODE:
    <style>
    .tbl {table-layout:fixed;}
    </style>
    <table class="tbl" border="1" width="80"><tr><td nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>

    width=80起作用了,换行也被干掉了。 


    例4:(IE浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap

    CODE:
    <style>
    .tbl {table-layout:fixed;}
    </style>
    <table class="tbl" border=1 width=80>
    <tr>
    <td width="20" nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td>
    <td nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td>
    </tr>
    </table>


    不幸发生了,第一个td的nowrap不起作用了 


    例5:(IE浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap

    CODE:
    <style>
    .tbl {table-layout:fixed;}
    </style>
    <table class="tbl" border="1" width="80">
    <tr>
    <td width="25%" nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td>
    <td nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td>
    </tr>
    </table>



    改成百分比,终于搞定了


    例6:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap效果:把例5放到firefox下面,又失效了


    例7:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div

    CODE:
    <style>
    .tbl {table-layout:fixed;}
    .td {overflow:hidden;}
    </style>
    <table class="tbl" border="1" width="80">
    <tr>
    <td width="25%" class="td" nowrap>
    <div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td>
    <td class="td" nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div>
    </td>
    </tr>
    </table>



    天下终于太平了 


    例8:(Firefox浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div

    CODE:
    <style>
    .tbl {table-layout:fixed;}
    .td {overflow:hidden;}
    </style>

    CODE:
    <table class="tbl" border="1" width="80">
    <tr>
    <td width="20" class="td" nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td>
    <td class="td" nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td>
    </tr>
    </table>


    nowrap又不起作用了

    最终,例7是一个在IE和Firefox都可以完美解决页面强制换行问题的解决方案。

    我也继续查了一些资料,既然首行的宽度才起作用,那我是否可以定义一下首行呢。

    发现了colgroup属性。

    <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#000000" style="table-layout:fixed">
    <colgroup>
    <col style="10%;"></col>
    <col style="30%;"></col>
    <col style="40%;"></col>
    <col style="10%;"></col>
    <col></col>
    </colgroup>
    <tr>
        <td colspan="5">&nbsp;</td>
      </tr>  <tr>
        <td  nowrap bgcolor="#FFFFFF">文字文字文字文字文字文字</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
      </tr>
      <tr>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
        <td bgcolor="#FFFFFF">&nbsp;</td>
      </tr></table>
    just do myself
  • 相关阅读:
    关于测试开发及其他——写在离职之前
    牛腩新闻发布系统——初探CSS
    牛腩新闻发布系统——后台前台整合技术
    Android Audio Focus的应用(requestAudioFocus)
    正则表达式详解
    牛腩新闻发布系统——初探JQuery,AJAX
    牛腩新闻发布系统——初探Javascript
    进入中文维基百科的方法
    *args 和**kwargs 的溯源
    mathematica9激活
  • 原文地址:https://www.cnblogs.com/rookieCat/p/4703793.html
Copyright © 2011-2022 走看看