【发布时间】:2017-07-26 04:52:30
【问题描述】:
好的,我正在尝试使用 flexbox 创建如下所示的列堆叠布局。我得到了那个工作:http://imgur.com/a/N9NHD
问题一:左右有边距我不明白为什么?
/* CONTACT US SCREEN WIDTH 320PX */
.contact-us-section {
background-color:#f8f8f8;
padding: 1rem;
}
.contact-us-section h3 {
font-size: 1.4rem;
margin-bottom: 1.5rem;
}
.contact-us-section form {
display: flex;
flex-direction: column;
}
.contact-us-section fieldset {
display: flex;
flex-direction: column;
}
.contact-us-section label {
font-size: 1.2rem;
}
.contact-us-section input {
width: 100%;
margin: 1rem auto;
padding: 2rem;
}
.messagebox {
display: flex;
flex-direction: column;
}
#submit-btn {
background-color: black;
color: white;
padding: 1rem;
width: 80%;
font-size: 1.4rem;
}
问题 2:在大屏幕中,我希望输入和标签并排,所以我在 .form-row 上使用 flex:row 应该使标签和输入对齐在同一条线上。不工作有什么想法吗?
/* CONTACT SCREEN WIDTH 768 px */
.form-row {
display: flex;
flex-direction: row;
}
.contact-us-section input {
width: 60%;
}
#submit-btn {
width: 10%;
font-size: 1.1rem;
}
.messagebox {
width: 50%;
}
html
<div id="contact-View" class="contact-us-section">
<div class="contact-form-wrap">
<h3> CONTACT US</h3>
<form action="#">
<fieldset class="form-row">
<label>Name:</label>
<input class="name-email" type="text" value="name"><br>
</fieldset>
<fieldset class="form-row">
<label>Email:</label>
<input class="name-email" type="text" value="email"><br>
</fieldset>
<div class="messagebox">
<label id="message-label">Message:</label>
<textarea rows="10" cols="39" maxlength="200"></textarea></br>
</div>
<input id="submit-btn" type="submit" value="Submit">
</form>
</div>
</div>
</div>
【问题讨论】:
-
第一个问题:请删除“padding: 1rem;”从“contact-us-section”类并尝试..
-
请查看并评论我的回答,如果有不清楚或遗漏的地方,请告诉我。如果不是,那么如果您能接受对您帮助最大的答案,那就太好了。