html - 表单上的 float 标签和 Div

标签 html css

我的页面上有一个表单,我想要定位所有文本框,使左边缘全部相互对齐。

我编写了以下代码,在 Firefox 中运行良好:

<style type="text/css">
label {
    float: left;
    clear: both;
    width: 250px;
    margin-top: 10px;
}

input {
    float: left;
    margin-top: 10px;
}
</style>



<label>First Name:</label>
<input type="text" name="fname">

<label>Last Name:</label>
<input type="text" name="lname">

<label>Phone Number:</label>
<input type="text" name="phone">

但是,当在 IE6 中查看时,文本框全部位于一行,标签的位置按照我想要的方式放置。我已经尝试解决这个问题几个小时了,我唯一能想到的就是在每个标签/文本框组合之间放置一个跨度,以清除 float ,如下所示:

<label>First Name:</label>
<input type="text" name="fname">

<span style="clear: both;"></span>

<label>Last Name:</label>
<input type="text" name="lname">

<span style="clear: both;"></span>

<label>Phone Number:</label>
<input type="text" name="phone">

但是我知道这是不正确的,因为不允许有空元素。有什么想法可以解决我的问题并在两个浏览器中获得相同的布局。

谢谢

最佳答案

您可以将每组标签/输入包装在一个 div 中,并在 div 上而不是标签上使用 clear:left

label {
    float: left;
    width: 250px;
    margin-top: 10px;
}

input {
    float: left;
    margin-top: 10px;
}
div {
  clear: left;
}

希望有帮助。

关于html - 表单上的 float 标签和 Div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302055/

相关文章:

html - 使轮播的高度与图像的高度相同,忽略图像的边距

html - 如何正确 float 列表

javascript - 将标签作为文本附加到文本区域

primefaces 选项卡 View 的 Css

html - 通用下拉菜单?

jquery - 我的 jquery 幻灯片上的未知边距?

android - 从 Android webview 播放 HTML5 hls 视频

html - 为什么 div 标签不能用作包装 block ?

html - 绝对位置,负向右移,滚动条移除

html - Mac OSX 上的 Chrome 在基本拉丁 block 中呈现字体