html的表格怎么让它在宽度上在屏幕上显示满,而每个格子都均匀分布。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html的表格怎么让它在宽度上在屏幕上显示满,而每个格子都均匀分布。相关的知识,希望对你有一定的参考价值。

table的width设为100%,然后td里设置width为百分比(如5列则设置20%) 参考技术A

你好,参考如下代码,希望能帮助你。

<table width="100%" border="1">
<tr>
<td  width="30%"></td>
<td  width="30%"></td>
<td  width="30%"></td>
</tr>
<tr>
<td  width="30%"></td>
<td  width="30%"></td>
<td  width="30%"></td>
</tr>
<tr>
<td  width="30%"></td>
<td  width="30%"></td>
<td  width="30%"></td>
</tr>
</table>

根据屏幕大小按比例缩小包含图像的 HTML 表格

【中文标题】根据屏幕大小按比例缩小包含图像的 HTML 表格【英文标题】:Shrink an HTML table containing images proportionally according to screen size 【发布时间】:2013-01-12 04:35:34 【问题描述】:

考虑以下代码。如何以响应方式实现表格,以便在大屏幕上表格高度和宽度等于图像(例如 600x600)和在移动设备等较小屏幕上的表格按比例缩小图像的总和。例如,在屏幕宽度为 320 像素的 iPhone 上,我希望表格缩小到 320x320,同时保留图像纵横比。

<HTML>
<head></head>
<body>
    <div id="header"></div>
    <div id="table"
    <table style="height: 100%">
        <tr>
            <td>
                <img id="topleft" src="300x300.png">
            </td>
            <td>
                <img id="topright" src="300x300.png">
            </td>
        </tr>
        <tr>
            <td>
                <img id="bottomleft" src="300x300.png">
            </td>
            <td>
                <img id="bottomright" src="300x300.png">
            </td>
        </tr>
    </table>
</div>
<div id="footer"></div>
</body>
</html>

这是一张显示上述代码如何在移动 Safari 浏览器中呈现的图像。

【问题讨论】:

Adaptive images 可能会对您有所帮助!此外,使用CSS media queries 也会有所帮助。 【参考方案1】:

自适应表维度可能很棘手。我建议的第一件事是将表格放在属性为position: relative 的div 中,然后以这种方式控制边距和大小。

<div id="myCont" style="">
    <table>
        <tr>
            <td> Hello! </td>
            <td> Aloha! </td>
        </tr>
        <tr>
            <td> Goodbye! </td>
            <td> Aloha! </td>
        </tr>
    </table>
</div>

然后是一些css:

#myCont 
    position: relative; 
    width: 100%;

#myCont table 
    width: 100%;

#myCont table tr td 
    width: 50%;
    position: relative;

.imgCls 
    width: 100%;

如果您随后将表格设置为 &lt;table cellspacing="0" cellpadding="0"&gt;,您将更容易获得准确的尺寸和“清晰的石板”。

此外,如果您只设置 width 属性,img 标签将始终尊重纵横比。

为此,我可能会推荐一个 jQuery 解决方案。

<img class="imgCls" src="/path/to/img.png" />

<script type="text/javascript">
$(document).ready(function()
    var imgw = $('.imgCls').parent('td').css('width');
    $('.imgCls').css('width',imgw);
);
</script>

只要具有imgCls 类的图像的宽度(或希望)一致,这样的方法就应该起作用,var imgw 将采用它找到的第一个.imgCls 的宽度。

【讨论】:

【参考方案2】:

我建议你试试这个 css 代码:

img width: 49%;  

http://jsfiddle.net/xeSLA/

【讨论】:

【参考方案3】:

如果每行有 2 张图像,您可以将表格宽度设置为 100%,并将 td 和 img 宽度设置为大约 49%(以保留边框)。此外,如果您的图像可能小于可能的屏幕尺寸,请使用 img max-width: 49%;

【讨论】:

该解决方案在屏幕宽度大于高度的桌面上中断。它可能需要某种左右边距。嗯…… 它不应该中断...除非你使用 height: 100%。只定义宽度,高度会自动调整。 啊,所以图像小于屏幕的一半。这意味着您使用了max-width。一种选择是通过使用width 来强制缩放它们(就像我在回答中写的那样),但这会使图像看起来很难看(插值)......另一种更好的解决方案是分解表格并允许超过此类屏幕每行 2 张图片(当然,如果您的应用计划这样做)。 其实截图是使用“width”的结果。该应用程序需要一个 2x2 网格,所以很遗憾我不能简单地将图像添加到行中。我开始认为我需要用 javascript 解决这个问题。 那么看来你在 td 元素上有position: relative...请尝试width: 99%

以上是关于html的表格怎么让它在宽度上在屏幕上显示满,而每个格子都均匀分布。的主要内容,如果未能解决你的问题,请参考以下文章

表格不适合屏幕宽度

如何上两个div上下排列

IOS5 中的本地通知 - 如何让它在屏幕上而不是在通知中心弹出?

延伸到屏幕外的 HTML 表格

Datatables表格中的内容怎么设置让它不自动换行

如何使用 SASS/CSS 使 HTML 表格占满宽度