我遇到了一些我通常不会遇到的基本定位问题。我只希望订阅按钮的宽度应该是20%,并且在输入表单的左侧。
显示为块,内联或内联块与左浮动不会做任何事情,这似乎是显而易见的解决方案。
我不知道为什么但是只要我添加了邮件黑猩猩代码,输入形式保持不变,但按钮显示在下一行并且比它更宽。我已经设置了id和类来遵守内部样式表而不是邮寄黑猩猩。
为什么这个元素不遵循基本样式?或者我错过了一些基本的东西?
感谢任何帮助,谢谢。
#newsletter {
background: lightblue;
width: 56%;
height: 100%;
padding: 0 0 0 25px;
display: table-cell;
}
.f1 {
display: block;
text-transform: uppercase;
color: darkblue;
font-size: 20px;
line-height: 1;
padding-bottom: 15px;
}
.f2 {}
#f-sm,
#f-em {
padding-top: 15px;
display: block;
}
#f-em form input {
margin: 0;
width: 80%;
height: 30px;
background: pink;
float: left;
}
#newsletter-button {
width: 20%;
height: 30px;
float: left;
background: lightblue;
}

<div id="newsletter">
<span class="f1">Newsletter Signup</span>
<span class="f2">Lorem ipsum dolor sit amet et delectus accommodare... Lorem ipsum dolor sit amet et delectus accommodare...</span>
<span id="f-em">
<form action="action_here" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<input type="email" placeholder="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
<div id="mce-responses">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div>
<input type="submit" value="Subscribe" name="subscribe" id="newsletter-button">
</form>
</span>
<div class="clear"></div>
</div>
&#13;
答案 0 :(得分:4)
规则#f-em form input
适用于按钮和输入。宽度均为80%。
您的按钮(<input type="submit" ...>
)和文字字段(<input type="text">
)都符合#f-em
width:80%.
表单输入
您的按钮也符合您的#newsletter-button
规则,但这不如上述规则那么具体,因此可以覆盖。
答案 1 :(得分:1)
你的css中的这个规则#f-em form input
并不是特定于它适用于所有输入标记元素,仍然是表单以及#f-em。您可以尝试使其更具体。
要将表格左侧的按钮对齐,您可以尝试使用以下代码对齐它。
form {
margin:0 auto;
width: 80%;
height: 30px;
background: pink;
overflow: hidden;
}
input{
float:left;
width:20%;
}