删除组合框和表格之间的空格

时间:2014-01-01 05:12:21

标签: html combobox html-table

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
            <head>
            <title>就知道</title>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
            </head>
            <div align="center">
            <body>
            <p align="center"><img src="./img/Logo.jpg" width="70" height="65"></p>
            <form name="form1" method="get" action="?" onsubmit="getValue()">     
            <div align="center" style= "display:inline"><select id="uiSel">
                <option value=" 请输入码"<?php if($resultkeyTag == " 请输入码"){echo 'selected';}?>> 号码</option>
                <option value=" 请输入名"<?php if($resultkeyTag == " 请输入名" OR $resultkeyTag == ""){echo 'selected';}?>> 姓名</option>
            </select></div>
              <div align="center" style= "display:inline"><?php if(empty($_GET['key']))  
              <input style="color:#999;" name="key" type="text" id="Txt" style="height:17px" style="font-size:12px" size="20" style="color:gray" value=" 请输入名"
            <?php } 
             </div>
            <div style="display:inline"><iframe name="frame1" id="frame1" src=./localcombodata.php?eventSelected=<?php echo $_GET['key1'] ?>&yearSelected=<?php echo $_GET['keyYearSelected'] ?> width="299″ height="0″ frameborder="no″ scrolling="no″ marginheight="0px" align="top" style="border:0px" marginwidth="0" ></iframe></div>
            <div style= "display:inline"><input type="submit" style="height:24px" style="font-size:13px" value="一下" ></div>
            <input name="key1" type='hidden' id="content" size="1" value="<?php if($_GET['key1'] == ""){echo '全部事';}else{echo $_GET['key1'];} ?>">
            <input name="keyYearSelected" type='hidden' id="inputYearSelected" size="1" value="<?php if($_GET['keyYearSelected'] == ""){echo '全部年份';}else{echo $_GET['keyYearSelected'];} ?>">
            <input name="keyTag" type='hidden' id="contentkeyTag" size="1" value="<?php if($_GET['keyTag'] == ""){echo ' 请输入名';}else{echo $_GET['keyTag'];} ?>">
            </form>
            <table width="800" border="0" cellspacing="0" cellpadding="2" align="center" bordercolor="#FFFFFF" margin-top="0">
            <tr bgcolor="#E6E6FA" >
                          <td width="40">年份</td>
                          <td width="*">事名称</td>
                          <td width="*">姓名</td>
                          <td width="48">性别</td>
                          <td width="58">号码</td>
                          <td width="74">成绩</td>
                         </tr>  
        </table>
        </body>
        </div>
    </html>

1 个答案:

答案 0 :(得分:0)

间距由iframe元素引起。你可以看到这个,例如如果您先将form { outline: solid red }添加到样式表中,然后看到表单相当高,请将其更改为iframe { outline: solid red }。使用Firebux检查文档显示iframe元素高150像素。

像往常一样,HTML验证是发现许多错误的好工具,但在这种情况下,通过查看iframe标记是一个很好的文本编辑器也可以看出问题的原因:

<iframe name="frame1" id="frame1"
src=./combodata.php?eventSelected=全部赛事&yearSelected=全部年份
width="299″ height="0″ frameborder="no″ scrolling="no″ marginheight="0px" align="top" 
style="border:0px" marginwidth="0">

使用好的字体时,您可以看到widthheightframeborderscrolling属性的值都以正常的Ascii引号开头标记"但以结尾(U + 2033 DOUBLE PRIME)。后者不是HTML中的标记重要字符,只是另一个数据字符。这意味着浏览器在遇到该字符时不会停止解析属性值,而是继续查找匹配的Ascii引号。所以他们得到的是

width="299″ height="

后跟0″等,虽然width值实际上会被解析为数字299(忽略其余的),但关键字height已丢失,即没有识别出height属性。因此,使用默认值150(像素)。

最简单的解决方法是将每个替换为"

但你应该试着找出导致问题的原因。也许某些创作工具使用转换后的Ascii引号来加倍素数,并且采用相当不合逻辑的方式(仅转换某些属性值规范的结束引号)。