我有一个问题。
我需要帮助将输入类型的文本和电子邮件居中,这两者也应该彼此相邻。同时将下面的输入复选框居中。
它应该看起来就像text_box_newsletter一样。它需要在中心。
我被困住了,尝试了一切,所以现在我只是困惑。
请帮助学生:)多谢!
.grid_newsletter .text {
text-align: center;
font-size: 24px;
font-weight: 600;
margin-bottom: 41px;
}
.grid_newsletter input {
width: 380px;
}
.grid_newsletter .checkbox {
margin-top:
}
.grid_newsletter input[type="checkbox"] {
width: 22px;
height: 22px;
border: 2px solid black;
}
.grid_newsletter .text_box_newsletter {
background: white;
width: 495px;
height: 90px;
text-align: center;
margin-top: 27px;
margin-left: auto;
margin-right: auto;
}
.grid_newsletter .text_box_newsletter p {
padding-top: 39px;
padding-bottom: 35px;
text-align: center;
font-weight: 600;
font-size: 18px;
letter-spacing: 0.100em;
}
<div class="grid_newsletter">
<div class="padding">
<div class="content">
<div class="text">Newsletter</div>
<form>
<input type="text" name="firstname" placeholder="förnamn">
<input type="email" name="email" placeholder="e-post">
</form>
<div class="checkbox"><input type="checkbox" name="confirm"> I confirm <a href="#">Read more</a></div>
<div class="text_box_newsletter">
<p>skicka</p>
</div>
</div>
在窗体上,您可以使用弹性框对齐所有项目:
.your-form-selector {
display: flex;
justify-content: center;
}
我已经对此进行了测试,除非我误解了这个问题,否则它可以工作。
我尽量避免对块内容使用text-align
,因为这可能会破坏从右到左的脚本语言。不过,如果您从未打算扩展您的网站,这应该不是问题。
你也可以这样做,所有字段都应该居中对齐,最好是针对div 而不是目标元素。
.content {
text-align: center;
}
将这些添加到属性中,您将被排序:
form,.checkbox {
text-align: center;
}
使用Flexbox是一个很好的方法,但是,它在较旧的浏览器(Internet Explorer(中不受支持,因此以下内容将执行完全相同的操作。
form input { display:block; margin:auto;}
.checkbox { text-align:center;}
我使用了 2 个弹性框。
- 包含输入字段的列
- 包含复选框的行。这也允许垂直对齐,因此复选框后面的文本与复选框的中心整齐对齐。
此外,缺少 2 个结束div。
.grid_newsletter .text {
text-align: center;
font-size: 24px;
font-weight: 600;
margin-bottom: 41px;
}
.grid_newsletter input {
width: 380px;
}
.grid_newsletter .checkbox {
margin-top:
}
.grid_newsletter input[type="checkbox"] {
width: 22px;
height: 22px;
border: 2px solid black;
}
.grid_newsletter .text_box_newsletter {
background: white;
width: 495px;
height: 90px;
text-align: center;
margin: 27px auto 0 auto;
}
.grid_newsletter .text_box_newsletter p {
padding-top: 39px 0 35px 0;
text-align: center;
font-weight: 600;
font-size: 18px;
letter-spacing: 0.100em;
}
/* Added */
.grid_newsletter form {
display: flex;
flex-direction: column;
align-items: center;
}
.grid_newsletter .checkbox {
display: flex;
justify-content: center;
align-items: center;
}
.grid_newsletter .checkbox a {
margin: 0 0 0 0.5rem;
}
<div class="grid_newsletter">
<div class="padding">
<div class="content">
<div class="text">Newsletter</div>
<form>
<input type="text" name="firstname" placeholder="förnamn">
<input type="email" name="email" placeholder="e-post">
</form>
<div class="checkbox"><input type="checkbox" name="confirm"> I confirm <a href="#">Read more</a></div>
<div class="text_box_newsletter">
<p>skicka</p>
</div>
</div>
</div>
<!-- Added -->
</div>
<!-- Added -->