【问题标题】:Table row height in FirefoxFirefox 中的表格行高
【发布时间】:2015-04-15 05:30:44
【问题描述】:

由于当前限制让 DIV 标签在浏览器平台上正常工作以实现我想要的特定流动布局,我选择使用表格和 DIV 的组合进行布局。话虽如此,仍然存在几个问题。

第一个问题是,在 Firefox 中,当使用高度为 100% 的表格时,我的页脚的表格行高的呈现方式与 IE 中的呈现方式不同。发生的情况是,在 Firefox 中,表格的页脚行的高度大于为表格行指定的高度。这反过来又会影响我的页脚布局。

这是页面的代码:


<html>

<head>

<meta NAME="DESCRIPTION" CONTENT="Cold Fusion Applications and Development">

<meta NAME="keywords" CONTENT="cold fusion, coldfusion, sql server, graphic design, houston, texas, tx, web developer, web development, e-commerce, survey, surveys, web applications, php, mysql, access, foxpro, sql, perl, shopping cart, web programming, macromedia, webmaster, html, cfml, xml, 77057, cfware, cfware.com, www.cfware.com, hosting, dhtml, dynamic html, web programmer, graphic designer, website, resume">

<link href="style.css" rel="stylesheet" type="text/css">

</head>
<!-- BODY -->
<body topmargin="0" bottommargin="0" rightmargin="0" leftmargin="0">
<!--TABLE I -->
<table class="fullheight" width="100%" height="100%" min-height="100%" border="1" align="center" cellpadding="0" cellspacing="0">
   <tr><td height="116" align="center" valign="top">
       <!-- HEADER -->
       <div class="header">
       <div class="lfc">Cornerstone</div>
       <div class="rfl"><img src="c4sqlogo.gif" width="295" height="68"></div>
       <div class="lf4">Foursquare</div>   
       </div>
       <div class="spacer"></div>
       <!-- HEADER END -->
       </td>
   </tr>
   <tr><td align="center" valign="center" bgcolor="#FFFFFF">  
             <!-- CONTENT -->
             <div class="content">


<table class="fullheight" width="100%" height="100%">
<tr>
<td></td>
<td></td>
<td></td>
</tr><tr>
<td></td>
<td align="center" valign="middle">
<h1 class="font-black">Cornerstone Foursquare Church</h1>
<br>
<h2>7791 Hillbarn Dr. Houston, TX 77040</h2>
<br>
<h2>(713) 856 - 7773</h2>
<br>
<br>
<h3>Service Times:<br>Sunday Morning Worship 10:30AM<br>Sunday Evening Bible Study 6:00PM
<br>Wednesday Evening Bible Study and Prayer 7:00PM</h3>
</td>
<td></td>
<tr>
<td></td>
<td></td>
<td></td>
</tr><tr>
</table>


             </div>
             <!-- CONTENT END -->
       </td>
   </tr>
   <tfoot height="28"><td height="28" align="center" valign="middle" bgcolor="#FFFFFF">
          <!-- FOOTER --> 
          <div class="clearspacer"><img src="1.gif" height="10" width="1"></div>
          <div class="footer"><div class="footertext"><a href="http://www.c4sq.org"> w w w . c 4 s q . o r g </a></div></div>
          <!-- FOOTER END -->
       </td>
   </tr>
</table>
<!-- TABLE I END -->
</body>
</html>

这是样式表的代码:

html, body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
        color: :#a02f1d;
        height: 100%;
        width: 100%;
}

a {
color: #ffffff;
text-decoration: none;
font-size: 12;
font-weight: 500;
}

.header {
color: #ff0000; 
margin: 0 auto;
width: 760px;
height: 116px;
background-image: url(stripe.gif);
background-repeat: repeat-x;
}

.fullheight {
height:100%;}

.lf4 {
float: left;
margin-top: 0px;
clear: left;
width: 240px;
margin-left: 190px;
color: #a02f1d;
font-size: 26px;
font-weight: semi-bold;
font-style: italic;
}

.lfc {
float: left;
margin-top: 8px;
margin-left: 20px;
color: #a02f1d;
font-size: 48px;
font-weight: semi-bold;
font-style: italic;
}

.rfl {
float: right;
margin-top: 24px;
margin-right: 20px;
clear: right;
}

.content {
margin: 0 auto;
width: 760px;
overflow: hidden;
color: :#a02f1d;
}

.spacer {
background-color:#a02f1d;
margin: 0 auto;
width: 760px;
height: 4px;
overflow: hidden;
}

.clearspacer {
background-color:#000000;
}

.footer {
color: #ffffff; 
background-color:#a02f1d;
margin: 0 auto;
width: 760px;
height: 30px;
clear: both;
}

.footertext {
color:#ffffff;
margin-top: 6px;
font-size: 12px;
}

第二个问题与修改现有布局有关,以便有一个宽度为 760 像素的居中垂直区域以不同于周围视口的颜色阴影显示。主要的困难是,为了让我的页脚在两个浏览器中都贴在底部并随着视口调整大小,我不得不重新采用表格布局。然而,当前的策略是使用尽可能少的嵌套,以便从使用 DIV 的速度和清晰度中受益。我会选择使用 DIV 布局来排除 TABLE 布局,如果它不是为了让工作的粘性页脚与 DIV 液体布局一起工作显然目前无法解决的问题。

【问题讨论】:

    标签: firefox


    【解决方案1】:

    我知道这完全不相关,但我建议您偶尔使用the w3c validator 来验证您的 HTML。

    【讨论】:

      【解决方案2】:

      几个建议:

      添加一个 doctype - 如果使用正确的,你可以让 IE 进入标准模式而不是 quirks 模式http://www.quirksmode.org/css/quirksmode.html,因此 IE 和其他浏览器之间的行为将更加一致。

      按照 K4emic 的建议 - 验证您的标记。

      添加一个 css 重置为零默认边距和填充,这是一个很好的起点http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/

      你会发现这些东西会让追踪布局错误变得容易得多。否则,你根本不知道从哪里开始,是你的css,你的html,浏览器的默认样式,IE的渲染模式……?

      【讨论】:

        【解决方案3】:

        正如其他响应者指出的那样,您首先必须确保您的文档格式正确。也就是说,它必须符合 DTD。我将指出一个容易发现的问题:

        <tfoot height="28"><td height="28" align="center" valign="middle" bgcolor="#FFFFFF">
              <!-- FOOTER --> 
              <div class="clearspacer"><img src="1.gif" height="10" width="1"></div>
              <div class="footer"><div class="footertext"><a href="http://www.c4sq.org"> w w w . c 4 s q . o r g </a></div></div>
              <!-- FOOTER END -->
           </td>
        </tr>
        </table>
        

        在这个 sn-p 中你可以看到你的

        <tfoot> 
        

        元素未关闭。它应该包含

        <tr> 
        

        但那是缺失的。

        这些小错误可能会导致您看到的不一致行为。在它们被纠正之后,如果您仍然遇到这种行为,那么您可以查看浏览器的差异。某些 HTML 编辑器(如 Frontpage 和 Dreamweaver)可以设置为输出符合 DTD 的代码并突出显示不符合的区域。我建议使用一个。

        【讨论】:

          猜你喜欢
          • 2010-11-29
          • 2023-03-09
          • 2011-06-27
          • 2017-06-07
          • 2023-03-15
          • 1970-01-01
          • 2014-04-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多