我有一个网页,我正在尝试设置一个登录部分:我正在尝试将两个表单输入框彼此相邻(用于电子邮件和登录信息),但是,我也使用CSS来自定义那些盒子。当我使用我当前拥有的代码时,这些框出现在不同的行中,而不是同一行。
以下是相关代码:
的index.html:
<div class="loginwrap">
<div class="logincontent_wrap">
<div class="logincontent">
<div class="loginaction">
<form action="/" method="post" class="invite_form" autocomplete="off">
<div class="logininput_row">
<input type="text" class="logininput" value="" name="loginemail" id="loginemail"/>
<span class="logininput_overlay">Account email</span>
</div>
<div class="logininput_row">
<input type="password" class="logininput" value="" name="loginpassword" id="loginpassword"/>
<span class="logininput_overlay">Password</span>
</div>
</form>
</div>
</div>
</div>
</div>
CSS文件:
.loginwrap {
margin: 0 auto;
width: 900px;
}
.logincontent_wrap {
background: none repeat scroll 0 0 #FFFFFF;
/*box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);*/
padding: 5px;
width: 100%;
}
.logincontent {
background: none repeat scroll 0 0 #FFFFFF;
overflow: hidden;
padding: 0px;
}
.logincontent .loginaction {
float: right;
width: 400px;
}
.logincontent .loginaction_text {
color: #555555;
font-size: 14px;
font-weight: bold;
}
.logincontent .logininput_row {
background: none repeat scroll 0 0 #FFFFFF;
margin: 4px 0;
position: relative;
width: 140px;
}
.logincontent .loginbutton_row {
margin: 8px 0;
}
.logincontent .logininput, .logincontent .logininput_overlay {
color: #777777;
font-size: 12px;
font-weight: bold;
}
.logincontent .logininput.error {
-moz-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;
border: 1px solid #EE5F5B;
}
.logincontent .logininput_overlay {
left: 11px;
position: absolute;
top: 10px;
z-index: 0;
}
.logincontent .logininput_overlay.focus {
color: #CCCCCC;
}
.logincontent .logininput {
background: none repeat scroll 0 0 transparent;
border: 1px solid #BBBBBB;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset;
line-height: 14px;
margin: 0;
padding: 9px 9px 8px;
position: relative;
width: 140px;
z-index: 1;
}
我知道div命令会生成另一行,但我不知道另一个命令要包含CSS文件中的类信息,并且框彼此相邻。谢谢您的帮助。
答案 0 :(得分:2)
div
是一个块元素,意味着它将拥有自己的行。
在css中使用
logininput_row{display: inline}
或将两个输入写入一个div,或使用提到的浮动
答案 1 :(得分:1)
不确定宽度,但float: left
应该有效......
.logininput_row {
float:left;
}
答案 2 :(得分:0)
就像Mike S.所说,您可以将显示从块更改为内联。另一种方法是通过浮动元素来改变定位。
.logincontent .logininput_row {
background: none repeat scroll 0 0 #FFFFFF;
margin: 4px 0;
position: relative;
width: 180px;
float: left;
}
答案 3 :(得分:0)
这使元素彼此相邻。不过请注意,我删除了您的position: relative
和position: absolute
样式,因为它们会导致问题,可能没有必要。如果您希望将Account Email
和Password
显示为字段提示,则有比您正在做的更好的方法。例如,HTML5's placeholder
是一个不错的选择:
http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html
.loginwrap {
margin: 0 auto;
width: 900px;
}
.logincontent_wrap {
background: none repeat scroll 0 0 #FFFFFF;
/*box-shadow: 0 1px 10px rgba(0, 0, 0, 0.2);*/
padding: 5px;
width: 100%;
}
.logincontent {
background: none repeat scroll 0 0 #FFFFFF;
overflow: hidden;
padding: 0px;
}
.logincontent .loginaction {
float: right;
width: 400px;
}
.logincontent .loginaction_text {
color: #555555;
font-size: 14px;
font-weight: bold;
}
.logincontent .logininput_row {
background: none repeat scroll 0 0 #FFFFFF;
margin: 4px 0;
width: 140px;
margin: 8px 0;
float: left;
}
.logincontent .logininput, .logincontent .logininput_overlay {
color: #777777;
font-size: 12px;
font-weight: bold;
}
.logincontent .logininput.error {
-moz-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;
border: 1px solid #EE5F5B;
}
.logincontent .logininput_overlay {
/*left: 11px;
position: absolute;
top: 10px;
z-index: 0;*/
}
.logincontent .logininput_overlay.focus {
color: #CCCCCC;
}
.logincontent .logininput {
background: none repeat scroll 0 0 transparent;
border: 1px solid #BBBBBB;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset;
line-height: 14px;
margin: 0;
padding: 9px 9px 8px;
width: 140px;
}
答案 4 :(得分:0)
.logininput_row
{
display:inline-block
margin:0 5px;
padding:5px;
}
.logininput_row input
{
vertical-align:middle;
}