如何在中心对齐表格,但标签位于输入的最左侧上方
How to align form in the center, but have the label above the very left of the input
我想“嘿,让我们在睡前用表格练习 10 分钟吧……”是的……已经一个小时了,我想不通!
我希望所有内容都居中,除了标签,我希望它在输入上方,在最左边。当然,如果我调整 window 的大小,我希望它“跟随”输入,否则我可以调整像素的位置。
我该怎么做?非常感谢!
* {
margin: 0;
box-sizing: border-box;
}
.form1 {
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
border: 1px solid black;
padding: 50px 150px;
display: flex;
flex-direction: column;
font-family: helvetica;
font-size: 14px;
}
.space:focus {
outline-color: black;
}
.space {
width: 300px;
}
.submit {
width: 30vw;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 20px;
padding: 5px;
font-family: verdana;
font-weight: 600;
}
<div class="form1">
<label for="name">Name</label>
<input class="space" type="text" id="name"><br><br>
<label for="email">E-mail</label>
<input class="space" type="email" id="email"><br><br>
<label for="message">Message</label>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>
<input type="submit" class="submit" value="Send">
</div>
想要这个结果?
* {
margin: 0;
box-sizing: border-box;
}
.form1 {
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
border: 1px solid black;
padding: 50px 150px;
display: flex;
flex-direction: column;
align-items: center;
font-family: helvetica;
font-size: 14px;
}
.form1 label {
max-width: 300px;
width: 100%;
}
.space:focus {
outline-color: black;
}
.space {
/*width: 300px;*/
max-width: 300px;
width: 100%;
}
.submit {
/*width: 30vw;*/
max-width: 300px;
width: 100%;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 20px;
padding: 5px;
font-family: verdana;
font-weight: 600;
}
<div class="form1">
<label for="name">Name</label>
<input class="space" type="text" id="name"><br><br>
<label for="email">E-mail</label>
<input class="space" type="email" id="email"><br><br>
<label for="message">Message</label>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>
<input type="submit" class="submit" value="Send">
</div>
你可以只添加一些 css 到标签,因为你提供了宽度为 300 的输入,给标签也一样就可以了。
.form1 {
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
border: 1px solid black;
padding: 50px 150px;
display: flex;
flex-direction: column;
font-family: helvetica;
align-items: center;
font-size: 14px;
}
.form1 label {
display: flex;
justify-content: flex-start;
width: 300px;
}
.space:focus {
outline-color: black;
}
.space {
width: 300px;
}
.submit {
width: 30vw;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 20px;
padding: 5px;
font-family: verdana;
font-weight: 600;
}
<div class="form1">
<label for="name">Name</label>
<input class="space" type="text" id="name"><br><br>
<label for="email">E-mail</label>
<input class="space" type="email" id="email"><br><br>
<label for="message">Message</label>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>
<input type="submit" class="submit" value="Send">
</div>
我想“嘿,让我们在睡前用表格练习 10 分钟吧……”是的……已经一个小时了,我想不通!
我希望所有内容都居中,除了标签,我希望它在输入上方,在最左边。当然,如果我调整 window 的大小,我希望它“跟随”输入,否则我可以调整像素的位置。
我该怎么做?非常感谢!
* {
margin: 0;
box-sizing: border-box;
}
.form1 {
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
border: 1px solid black;
padding: 50px 150px;
display: flex;
flex-direction: column;
font-family: helvetica;
font-size: 14px;
}
.space:focus {
outline-color: black;
}
.space {
width: 300px;
}
.submit {
width: 30vw;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 20px;
padding: 5px;
font-family: verdana;
font-weight: 600;
}
<div class="form1">
<label for="name">Name</label>
<input class="space" type="text" id="name"><br><br>
<label for="email">E-mail</label>
<input class="space" type="email" id="email"><br><br>
<label for="message">Message</label>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>
<input type="submit" class="submit" value="Send">
</div>
想要这个结果?
* {
margin: 0;
box-sizing: border-box;
}
.form1 {
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
border: 1px solid black;
padding: 50px 150px;
display: flex;
flex-direction: column;
align-items: center;
font-family: helvetica;
font-size: 14px;
}
.form1 label {
max-width: 300px;
width: 100%;
}
.space:focus {
outline-color: black;
}
.space {
/*width: 300px;*/
max-width: 300px;
width: 100%;
}
.submit {
/*width: 30vw;*/
max-width: 300px;
width: 100%;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 20px;
padding: 5px;
font-family: verdana;
font-weight: 600;
}
<div class="form1">
<label for="name">Name</label>
<input class="space" type="text" id="name"><br><br>
<label for="email">E-mail</label>
<input class="space" type="email" id="email"><br><br>
<label for="message">Message</label>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>
<input type="submit" class="submit" value="Send">
</div>
你可以只添加一些 css 到标签,因为你提供了宽度为 300 的输入,给标签也一样就可以了。
.form1 {
background: linear-gradient(to right bottom, deepskyblue, pink);
margin: 10px;
border: 1px solid black;
padding: 50px 150px;
display: flex;
flex-direction: column;
font-family: helvetica;
align-items: center;
font-size: 14px;
}
.form1 label {
display: flex;
justify-content: flex-start;
width: 300px;
}
.space:focus {
outline-color: black;
}
.space {
width: 300px;
}
.submit {
width: 30vw;
align-self: center;
background: linear-gradient(to top left, rgb(255,105,200), aqua);
border: none;
border-radius: 20px;
padding: 5px;
font-family: verdana;
font-weight: 600;
}
<div class="form1">
<label for="name">Name</label>
<input class="space" type="text" id="name"><br><br>
<label for="email">E-mail</label>
<input class="space" type="email" id="email"><br><br>
<label for="message">Message</label>
<textarea class="space placeholder" name="name" rows="8" cols="50" onfocus="this.placeholder=''" onblur="this.placeholder='Write your message here'"></textarea><br>
<input type="submit" class="submit" value="Send">
</div>