zoukankan      html  css  js  c++  java
  • 实际宽度与赋值宽度,工作中遇到一个问题。

    Html代码:

     <style>
        table.tblTestAlignment tr td { text-align:right; 75px;/*赋值宽度,在css中定义td的宽度*/}
        
    </style>
    <table class="tblTestAlignment" bgColor="red">
        <tbody>
        <tr bgColor="white" class="top">
            <td>US$123</td>
            <td>US$123</td>
            <td>US$123</td>
            <td>US$123</td>
        </tr>
        <tr bgColor="white" class="bottom">
            <td>US$222,333</td>
            <td>US$222,333</td>
            <td>US$222,333</td>
            <td>US$222,333</td>
        </tr>
        </tbody>
    </table>

    <input type="button" value="Change the  width of the top row" onclick="changeTdWidth(1);" />
    <input type="button" value="Change the width of the bottom row" onclick="changeTdWidth(2)"

     JS 代码(需要引用JQuery):

     function changeTdWidth(type) {
            var width = 0;
            if (type == 1) {
                width = $("table.tblTestAlignment tr.top td").eq(0).width();
                width += 50;
                $("table.tblTestAlignment tr.top td").css("width", width+'px');
            }
            else {
                width = $("table.tblTestAlignment tr.bottom td").eq(0).width();
                $("table.tblTestAlignment tr.bottom td").each(
                    function() {
                        width += 100;
                        $(this).css("width", width + 'px');
                    }
                )
            }
        
        }

       上面的代码运行在IE中的效果如下图:

      

      可以很清楚的看到,红色table里面的td的内容,都是居右对齐的

      现在我们在document加载完成的时候执行 changeTdWidth(2) ,代码如下:

       $(document).ready(function() {
            changeTdWidth(2);
        });

       再次刷新页面

       得到效果如下图:

       

       当我们改变第二行的td的宽度的时候, table中第一行的数据没有居右对齐!问题出在哪呢?

       实际上同样的代码运行在FF中不会有任何问题。这个问题(只)在IE中出现。

       我们对比两个结果图,可以发现,第一行的数据的td内容+左边空出的部分正好是第一幅图中td的宽度(75px); 尽管它的实际宽度已经随着第二行的值一同改变了。而居右对齐显然是以赋值的宽度作为标竿了。

     现在只要把css样式表中定义的 75px; 删除掉,再次刷新页面,结果就正常了。或者在改变赋值第二行td的宽度的时候,同时将第一行的td的宽度设置成相对应的同样的值,问题也就解决。

  • 相关阅读:
    hdu 5119 Happy Matt Friends
    hdu 5128 The E-pang Palace
    hdu 5131 Song Jiang's rank list
    hdu 5135 Little Zu Chongzhi's Triangles
    hdu 5137 How Many Maos Does the Guanxi Worth
    hdu 5122 K.Bro Sorting
    Human Gene Functions
    Palindrome(最长公共子序列)
    A Simple problem
    Alignment ( 最长上升(下降)子序列 )
  • 原文地址:https://www.cnblogs.com/windfighter/p/1737508.html
Copyright © 2011-2022 走看看