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的宽度设置成相对应的同样的值,问题也就解决。

  • 相关阅读:
    Spring Boot 中使用 @Transactional 注解配置事务管理
    springboot 整合Swagger2的使用
    Vue的参数请求与传递
    SpringMVC的全局异常处理
    SpringBoot集成MyBatis的Bean配置方式
    Springboot整合通用mapper
    个人作业——软件工程实践总结作业
    团队作业第二次—项目选题报告(追光的人)
    结对第二次—文献摘要热词统计及进阶需求
    结对第一次—原型设计(文献摘要热词统计)
  • 原文地址:https://www.cnblogs.com/windfighter/p/1737508.html
Copyright © 2011-2022 走看看