2

我正在尝试更新 pfSense 强制门户身份验证页面,除了 IE(桌面版和移动版)之外,它在任何地方都显示得很好。问题是上表行(来自 2 行表)正在扩展到大尺寸,如下图所示。HTML 是:

    <html> 
<link rel="stylesheet" type="text/css" href="style.css">
<body> 
<form method="post" action="#PORTAL_ACTION#" align="center" > 
    <input name="redirurl" type="hidden" value="#PORTAL_REDIRURL#">
    <input name="zone" type="hidden" value="#PORTAL_ZONE#">
    <center>
    <table class="MainTable">
    <!--Beginning of Form title heading-->
        <tr class="TableTopRow">
            <td class="TableTopCell1">
                <img src="captiveportal-wifi_icon.png" width="50%" height="3%" align="right">
            </td>
            <td class="TableTopCell2" >
                <img src="captiveportal-aragon_logo.png" width="50%" height="3%" align="left">
            </td>
        </tr>
    <!--End of Form title heading-->
    <!--Beginning of main area which contains authentication form and an area reserved for showing errors-->
        <tr class="TableLowerRow" colspan="2" height="70%">
            <td colspan="2" width="100%">
                <div id="mainlevel">
                <center>
                <table height="100%" width="100%" border="0" cellpadding="0">
                    <tr> 
                        <td style="color:#0B173B;font-family:arial; font-weight:bold; font-size:90%"><center>
                            Welcome to Aragon House Business Center
                        </td>
                    </tr>
                <tr>
                    <td>
                        <center>
                        <div id="mainarea">
                        <center>
                        <table width="100%" border="0" cellpadding="1px" cellspacing="2">
                        <tr  height="20%">
                            <td>
                                <div id="maindivarea">
                                <center>
                                    <!-- The statusbox area is where errors will be shown should there be an error when authenticating with the hotspot-->
                                    <div id='statusbox'>
                                        <font color='red' face='arial' size='+1'>
                                        <b>
                                            #PORTAL_MESSAGE#
                                        </b>
                                        </font>
                                    </div>
                                    <!--End of error message area-->
                                    <br />
                                    <!--Beginning of form area; this area will contain fields for authenticating users with the hotspot system-->
                                    <div id='loginbox'>
                                    <table>
                                        <!-- Beginning of area where you input the authentication details-->

                                        <tr><td>&nbsp;</td></tr>
                                        <tr><td align="right" style="color:#333333;font-family:arial; font-size:98%;">Username:</td><td><input name="auth_user" type="text" style="border: 1px solid;"></td></tr>
                                        <tr><td align="right" style="color:#333333;font-family:arial; font-size:98%;">Password:</td><td><input name="auth_pass" type="password" style="border: 1px solid;"></td></tr>
                                        <tr><td>&nbsp;</td></tr>
                                        <tr>
                                            <td align="right" style="color:#333333;font-family:arial; font-size:98%;">Enter Voucher Code: </td>
                                            <td><input name="auth_voucher" type="text" style="border:1px solid;" size="20"></td>
                                        </tr>
                                        <tr>
                                            <td colspan="2" align="right" style="padding-right:10px"><input name="accept" type="submit" value="Continue"></td>
                                        </tr>
                                        <!-- End of area where you input the authentication details-->
                                    </table>
                                    </div>
                                    <!--End of  authentication form area-->
                                </center>
                                </div>
                            </td>
                        </tr>
                        </table>
                        </center>
                        </div>
                        </center>
                    </td>
                </tr>
                </table>
                </center>
                </div>
            </td>
        </tr>
    </table>
    </center>
    <!--End of main area-->
</form>
</body> 
</html>

虽然 CSS 是:

    .MainTable{
    height: 40%;
    width: 30%;
    padding: 0;
    border-radius: 15px;
    border:1px solid #000000;
}

.TableTopRow{
    width: 30%;
    height: 30%;
    background-color:#CCCCCC;
    border-top-right-radius: 15px; 
    border-top-left-radius: 15px; 
    border-top:1px #6DA4DE; 
}

.TableLowerRow{
    height: 70%;    
}

.TableTopCell1{
    width: 50%;
    border-top-left-radius: 15px;
}
.TableTopCell2{
    width: 50%;
    border-top-right-radius: 15px;
}

下面显示页面在 IE 中的显示方式

此图显示了页面在 chrome 中的显示方式

第一张图片显示了表单在 IE 中的显示方式,而下图显示了相同表单在 Chrome 中的显示方式。

非常感谢您的帮助。

在此先感谢,

4

3 回答 3

1

您有6 个开盘 <center>5 个收盘 </center>。可能 IE 不够聪明,无法为您正确关闭它:D

于 2015-07-27T13:38:30.963 回答
0

显然问题是图像大小,它需要以像素而不是百分比为单位。

于 2015-07-27T13:29:05.080 回答
0

为什么您的 CSS 可能无法正常工作

添加display: inline;通常会修复 IE 中的这些错误,具体取决于您使用的版本

您还缺少一个文档类型,它修复了 IE Quirksmode IE CSS Fix中的许多问题

把它放在你的html页面的顶部

<!DOCTYPE html>

虽然我们正在处理这样的事情,但您应该将您的 css 放在外部文件中,而不是混合和匹配。在这个时代,使用表格进行造型是不好的做法

<div id='loginbox'>
   <table>
      <!-- Beginning of area where you input the authentication details-->
      <tr>
         <td>&nbsp;</td>
      </tr>
      <tr>
         <td align="right" style="color:#333333;font-family:arial; font-size:98%;">Username:</td>
         <td><input name="auth_user" type="text" style="border: 1px solid;"></td>
      </tr>
      <tr>
         <td align="right" style="color:#333333;font-family:arial; font-size:98%;">Password:</td>
         <td><input name="auth_pass" type="password" style="border: 1px solid;"></td>
      </tr>
      <tr>
         <td>&nbsp;</td>
      </tr>
      <tr>
         <td align="right" style="color:#333333;font-family:arial; font-size:98%;">Enter Voucher Code: </td>
         <td><input name="auth_voucher" type="text" style="border:1px solid;" size="20"></td>
      </tr>
      <tr>
         <td colspan="2" align="right" style="padding-right:10px"><input name="accept" type="submit" value="Continue"></td>
      </tr>
      <!-- End of area where you input the authentication details-->
   </table>
</div>
于 2015-07-27T12:45:04.070 回答