javascript - 设置 <td> 宽度所需的 HTML/Javascript 技巧

标签 javascript css html

我有以下问题:

我必须在网页上列出几个元素,每个元素都有几个属性。 list 是在两个 HTML 表格中完成的。一张表用于标题,一张表用于元素。这种分离是为了有可能只滚动列表。 (在标题部分有一个滚动条会很奇怪)。据我所知,只有一种方法可以在 HTML 列表中滚动,即 div overflow 属性。

问题是我需要在整个列表中设置列(元素)的宽度,即在标题和元素列表中。这是现在如何完成的简化示例:

<table width="98%">
    <tr> 
        <td>1</td> <td>2</td> <td>3</td> <td>4</td>
    </tr>
    <div style="width: 100%; height: 300px; overflow-y:scroll">
        <table>
            <tr> 
                <td>123456789101112</td> <td>2</td> <td>3</td> <td>4</td>
            </tr>
        </table>
    </div>
</table>

问题在于,由于列表中的元素可能有很长(我的意思是很多字符)的值,即使使用了宽度属性,浏览器也会扩展单元格。由于标题位于单独的列中,因此其列的长度将与 div 的列不同。

到目前为止,我已经尝试让浏览器呈现列表中的列,然后获取这些计算样式并将它们应用于标题的列,但标题列似乎没有得到准确的宽度。我在元素的其他地方遇到过同样的问题,但由于文本宽度是恒定的,所以我使用像素作为宽度,在 FF 和 IE8 中使用不同的长度,但现在的问题是 - 我认为 - 更复杂。

如何使两个表中的列具有相同的宽度?

最佳答案

您的示例是无效的 HTML。我根本不建议使用这种方式。

使所有列具有相同宽度(无需 JavaScript 的帮助)的唯一方法实际上是将它们放在同一个表格中。

查看 this question .我没有对它们进行测试,但有些答案看起来像是只使用一个使用 theadtbody 元素的表元素就可以提供您需要的功能。

关于javascript - 设置 <td> 宽度所需的 HTML/Javascript 技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3466382/

相关文章:

html - 在 Windows Phone 8 上禁用点击 - html5 移动应用程序

html - Li 文本格式问题 请帮忙?

html - 如何使div相同的高度?

javascript - Jquery - 根据数值更改跨度文本颜色

javascript - 无法获取 angularJS 中动态添加的输入元素的表单输入元素状态

javascript - 为什么 JQUERY 克隆函数并向其附加一个 id 并确认电子邮件值?

html - flexbox 元素中的白线不会消失

php - 限制textarea中的字符 - 转义引号和双引号在MySQL中占用2个字符

javascript - 我如何将 id 分配给 svg 元素? (给raphaeljs吧)

javascript - KML - Google Maps API - 添加县名