我正在设计一个表单布局,以便在在线系统的许多页面上使用。一个虔诚的用户为此目的多年,我现在很习惯使用CSS +标签。CSS标签与输入字段的垂直对齐
我还没有能够掌握的一件事是不同的浏览器填充&相对于输入字段的位置标签的方式。我将给出一个代码示例,再加上它在每个浏览器中呈现的特写图像(IE = IE9)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>HTML template</title>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<link rel="stylesheet" type="text/css" href="reset.css" />
<style>
body {
font-family:Verdana,Arial,"Lucida Grande","Lucida Sans Unicode",sans-serif;
font-size:13px;
font-style:normal;
font-weight:normal;
letter-spacing:normal;
margin:20px;
}
input {
font-family:Verdana,Arial,"Lucida Grande","Lucida Sans Unicode",sans-serif;
border:solid 1px #666;
width:150px;
}
.fld {
}
.usr {
border:solid 1px red;
}
p {
}
</style>
</head>
<body>
<p>
<label class="usr" for="email">Email*</label>
<input class="fld required email" type="text" name="email" id="email" value="Capital Letter">
</p>
</body>
</html>
好的 - 现在我可以张贴一张照片 - 这是Ahmed Masud的变化后的样子。他是对的 - 我的reset.css文件(从http://html5reset.org/)没有填充输入元素。但是,即使在应用更改之后,标签中文本的底部对齐与输入中的底部对齐仍然存在差异。现在火狐浏览器已经死了,而对于IE浏览器来说,标签文本高出1px。
如果我删除到reset.css链接,事情再次发生变化:镀铬变为死水平,即把标签1px的比输入文本更高版本,Firefox 1px的比输入文本低。请看下图:
我应该指出,这是一个非常基本的布局,只是为了尝试和诊断问题。稍后我会让它看起来更好。但首先,我需要知道如何使用一个CSS解决方案将所有文本排列在所有浏览器中。
你可以发布你的reset.css以及pl缓解? – 2011-12-19 05:20:13
它来自html5reset.org - 添加上面的链接,以及对下面的答案的回复。 – 2011-12-20 00:35:18