html - CSS | 在表单内的项目之间添加空格
问题描述
所以我有一个在 flexbox 卡内的表单。该卡有 2 个面,左侧和右侧。左边是图片,右边是实际输入。我需要不同输入之间的空间。他们现在太拥挤了。我尝试将表单设置为 flexbox 和 justify-content: space-around, space-between 都没有达到我想要的效果。
我已经尝试为表单和元素添加边距和填充,但必须有更好的方法。我附上了一张图片和jfiddle来帮助您查看我的问题。
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
body {
margin: 0;
padding: 0;
font-family: Roboto;
font-size: 0.9em;
background-color: #ccf2f4;
}
img {
width: 200px;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.card {
width: 75vw;
margin: 10px;
background-color: #a4ebf3;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
}
.card-right {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
}
.card-left,
.card-right {
padding: 10%;
}
<div class="card">
<div class="card-left">
<img src="https://media.bleacherreport.com/f_auto,w_800,h_533,q_auto,c_fill/br-img-slides/004/431/800/ca7761a4360ae26cb69ee014607228b7_crop_exact.jpg" alt="" />
</div>
<div class="card-right">
<form action="">
<div class="name">
<label for="name" placeholder="Name">Name</label>
<input type="text" id="name" required />
</div>
<div class="seat">
<label for="seat">Select your seat</label>
<select name="seat" id="seat">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<div class="handicapped">
<label for="handicap">Handicapped?</label>
<input type="checkbox" value="Handicapped" />
</div>
<div class="wrestler">
<label for="wrestler">Select for favorite superstar</label>
<select name="wrestler" id="wrestler">
<option value="asaka">Asaka</option>
<option value="mcintyre">Drew Mcintyre</option>
<option value="zayne">Sami Zayne</option>
<option value="reigns">Roman Reigns</option>
<option value="flair">Charlotte Flair</option>
</select>
</div>
<div class="submit">
<button>Sign Up!</button>
</div>
</form>
</div>
</div>
我在 CSS 方面不是最好的,因为我主要使用 JavaScript,但我创建了一些项目来帮助我更多地使用 CSS,并尝试学习更多并成为一个更好的开发者。感谢您的时间和帮助。这是一个截图
解决方案
如果您只需要元素之间的一些空间input
,您可以将以下内容添加到您的 css
.card-right div{
margin-bottom: 10px;
}
因为你已经拥有了自己的每个input
元素div
,所以这会很好。
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
body {
margin: 0;
padding: 0;
font-family: Roboto;
font-size: .9em;
background-color: #ccf2f4;
}
img {
width: 200px;
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.card {
width: 75vw;
margin: 10px;
background-color: #a4ebf3;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
}
.card-right {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
}
.card-right div {
margin-bottom: 10px;
}
.card-left,
.card-right {
padding: 10%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Simple Form Demo</title>
</head>
<body>
<div class="container">
<h1>Wrestlemania 36 Sign Up!</h1>
<h2>Use the form below to reserve your spot for the year's biggest event</h2>
<div class="card">
<div class="card-left">
<img src="https://media.bleacherreport.com/f_auto,w_800,h_533,q_auto,c_fill/br-img-slides/004/431/800/ca7761a4360ae26cb69ee014607228b7_crop_exact.jpg" alt="">
</div>
<div class="card-right">
<form action="">
<div class="name">
<label for="name" placeholder='Name'>Name</label>
<input type="text" id='name' required>
</div>
<div class="seat">
<label for="seat">Select your seat</label>
<select name="seat" id="seat">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<div class="handicapped">
<label for="handicap">Handicapped?</label>
<input type="checkbox" value='Handicapped'>
</div>
<div class="wrestler">
<label for="wrestler">Select for favorite superstar</label>
<select name="wrestler" id="wrestler">
<option value="asaka">Asaka</option>
<option value="mcintyre">Drew Mcintyre</option>
<option value="zayne">Sami Zayne</option>
<option value="reigns">Roman Reigns</option>
<option value="flair">Charlotte Flair</option>
</select>
</div>
<div class="submit">
<button>Sign Up!</button>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
这是一个小提琴。
推荐阅读
- ios - 当我使用高于 11.2.1 的 Xcode 版本构建时,调用 SKProductsRequest 失败
- pandas - Pandas Python如何处理出现在数据框中的问号
- android - Paging3 不确定如何转换 PagingSource
- sql - 如何处理空值的转换错误?
- javascript - 错误:让通道 = message.mentions.channels.first() ^ TypeError:无法读取未定义的属性“通道”
- apache-spark - 雪花将镶木地板中的布尔值解释为 NULL?
- android - 离子科尔多瓦振动不适用于 Android 10
- javascript - Nodejs Mongodb - 打印时文档属性为“未定义”
- bokeh - 在散景应用程序中插入 folium map html 代码
- c++ - C ++如何存储函数指针?