好的,所以我的愚蠢的小登录表几乎看起来我想要它看起来。 (这基本上是我的第一个CSS项目和第一个HTML项目,因为更新试图更新我15年的HTML技能。)对于我的生活,我无法弄清楚如何获得“忘记密码?”链接向下移动,或者与“登录”按钮的中间或底部对齐。我已经尝试将display: inline;
和vertical-align: middle;
移动到各种不同的选择器,但它们都不起作用!我甚至尝试设置锚点和/或<li>
元素的高度。我不明白这笔交易是什么!非常感谢任何帮助!
这是我的代码:
form.login {
margin: 10px 10px 20px 20px;
padding: 0 0 0 0;
}
form.login fieldset{
margin: 0 0 0 0;
padding: 2px 2px 2px 2px;
border:2px solid;
border-radius: 5px;
width: 348px;
height: 90px;
}
form.login fieldset legend {
font-weight: bold;
font-size: 1.2em;
margin-left: 10px;
}
form.login fieldset ul {
margin: 0;
padding:0;
}
form.login fieldset fieldset {
border: 0;
width: 100%;
height: 40%;
display: inline;
vertical-align: middle;
}
form.login fieldset fieldset li{
float: left;
list-style: none;
width: 165px;
margin: 0 4px 0 4px;
}
form.login input {
width: 165px;
}
form.login label {
display: none;
}
form.login a:link,
form.login a:visited {
color: black;
font-size: 0.8em;
}
form.login a:hover {
color: blue;
}
form.login a:active {
color: blue;
}
form.login fieldset ul fieldset li button#submitLogin {
float: right;
}
和HTML:
<html>
<head>
<link rel="stylesheet" type="text/css" href="formstyle.css" />
</head>
<body>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="login">
<fieldset>
<legend>Login</legend>
<ul>
<fieldset>
<li>
<label for="email">Email Address</label>
</li>
<li>
<input id="email" type="text" name="email">
</li>
<li>
<label for="password">Password</label>
</li>
<li>
<input id="password" type="password" name="password">
</li>
</fieldset>
<fieldset>
<li>
<a href="resetpass.php">Forgot Password?</a>
</li>
<li>
<button id="submitLogin" value="submit" name="submitLogin" type="submit">Login</button>
</li>
</fieldset>
</ul>
</fieldset>
</form>
</body>
</html>
编辑: Here's a screen shot of what it looks like with the code above.
答案 0 :(得分:1)
尝试更改:
<li class="middle">
<a href="resetpass.php">Forgot Password?</a>
</li>
<li class="middle">
<button id="submitLogin" value="submit" name="submitLogin" type="submit">Login</button>
</li>
并将其添加到您的css:
.middle {
height: 22px;
line-height: 22px;
}
这明确地给它一个设定高度,然后通过line-height
属性告诉它将文本居中并在li中垂直形成对象。
答案 1 :(得分:0)
你想要它在登录按钮旁边,但你在登录按钮之前在'li'标签中定义它吗?你试过把那个锚放在同一个'li'中吗?使用'table'并将它们放在同一'tr'中肯定会有效。
答案 2 :(得分:0)
这是一个快速修复。 http://jsfiddle.net/xNAnz/
我从顶部偏移了li
10px。
答案 3 :(得分:0)
我重写了你的标记以删除fieldset
并使样式更加一致。我在这里做的是让li
成为width
的{{1}}和height
的一半。这样,如果您想要更改UL
的{{1}}和/或fieldset
,您只需更改一个位置,然后调整其他样式。
我还压缩并删除了一些其他不必要的属性声明(height
到width
)。如果您有任何问题,请告诉我。
修改强>
我努力使其在Chrome和Firefox之间更加一致。
我实际上认为你最好把高度放在padding: 0 0 0 0
元素上:
尝试查看上述内容并在注释掉CSS padding: 0
类声明中的li
时运行它。
<强> CSS 强>
display: none
<强> HTML 强>
.hide