表格在JavaScript中对齐

时间:2013-03-04 17:00:14

标签: javascript html css

这是一个两部分问题,我在多个标签下搜索,找不到答案。

我有一个包含4列和4个块的表,我试图让它们在页面加载时自动对齐,以便四列在页面底部占据整个页面宽度。无论用户是在22英寸宽屏还是15英寸屏幕上,我都希望看起来一样:

  1. 这最好是通过JavaScript完成还是效率更高 这样做的方式?
  2. 你会如何实现这个目标?
  3. 编辑:抱歉我应该更具体,这是我的代码:

        <table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color:#c1bdb6;">
                    <tbody>
                        <tr>
                            <td align="right" valign="top" id="col-1">
                                <div id="nugget1" align="right" style="height: 459px;">
                                    <div id="nugget1-content" align="left">
                                        <h2 class="menutitle"> FAQ's </h2>
    
                                    </div> 
                                </div>
                            </td>
                            <td valign="top" id="col-2">
                                <div id="nugget2" align="center" style="height: 459px;">
                                    <h2 class="menutitle"> Contacts </h2>
                                </div>
                          </td>                                    
                          <td valign="top" id="col-3">
                                <div id="nugget3" align="center" style="height: 459px;">
                                     <h2 class="menutitle"> Calendar </h2>
                                        <ul class="vertmenu">  
                                            <li>
                                                <a href="http://www.youtube.com/watch?v=5F5v1EYaSTA"> Shared Calendars </a>
                                            </li>
                                </div>
                            </td>
                            <td valign="top" id="col-4">
                                 <div id="nugget4" align="center" style="height: 459px;">
                                     <h2 class="menutitle"> Mail </h2>
                                 </div>
                          </td>
    
                      </tr>
                    </tbody>
                 </table>
    

4 个答案:

答案 0 :(得分:0)

假设nugget是一个表格单元格,这可能就是你要找的东西:

  1. 这听起来像是CSS的工作。
  2. 相关CSS:

    表{   宽度:100%; }

答案 1 :(得分:0)

您可以尝试将表格宽度设置为与屏幕分辨率相对应,也许可以使用它?

<table width="100%" height="100%">
<tr>
<td align="center" valign="middle">
Body html here
</td>
</tr>
</table>

答案 2 :(得分:0)

如果您使用的是表格的实际HTML <table>标记,则最简单的方法是使用<colgroup>标记。

在您的情况下,代码将是:

<table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color:#c1bdb6;">
    <colgroup width="25%" />
    <tbody>
        <tr>
            <td align="right" valign="top" id="col-1">
                <div id="nugget1" align="right" style="height: 459px;">
                    <div id="nugget1-content" align="left">
                        <h2 class="menutitle"> FAQ's </h2>
                    </div> 
                </div>
            </td>
            <td valign="top" id="col-2">
                <div id="nugget2" align="center" style="height: 459px;">
                    <h2 class="menutitle"> Contacts </h2>
                </div>
            </td>                                    
            <td valign="top" id="col-3">
                <div id="nugget3" align="center" style="height: 459px;">
                    <h2 class="menutitle"> Calendar </h2>
                    <ul class="vertmenu">  
                        <li>
                            <a href="http://www.youtube.com/watch?v=5F5v1EYaSTA"> Shared Calendars </a>
                        </li>
                </div>
            </td>
            <td valign="top" id="col-4">
                <div id="nugget4" align="center" style="height: 459px;">
                    <h2 class="menutitle"> Mail </h2>
                </div>
            </td>
        </tr>
    </tbody>

<colgroup>中的所有属性都将应用于该组中的所有列。如果您要对任何单个列进行特定样式设置,则可以在每个列的<col>中添加<colgroup>个标记,以定义它们。您还可以将<colgroup>标记嵌套在彼此中。

答案 3 :(得分:0)

除非您使用这样过时的HTML(表格用于布局,在HTML等中使用valignalign等)的特殊原因,否则效率最高(关于页面加载)实现你想要的方法是将你的HTML重组为更多的东西:

<div id="nuggets">
  <div id="nugget1">
    <h2 class="menutitle"> FAQ's </h2>
  </div> 
  <div id="nugget2" class="col">
     <h2 class="menutitle"> Contacts </h2>
  </div>
  <div id="nugget3">
     <h2 class="menutitle"> Calendar </h2>
     <ul class="vertmenu">  
       <li>
         <a href="http://www.youtube.com/watch?v=5F5v1EYaSTA"> Shared Calendars </a>
       </li>
  </div>
  <div id="nugget4">
    <h2 class="menutitle"> Mail </h2>
  </div>
</div>

然后你可以按照以下方式使用CSS:

#nuggets {
  height: 459px;
}

#nuggets > div {
  width: 25%;
  height: 459px;
  float: left;
  text-align: center;
}