将页面上的联系表格与并排文本和输入字段居中对齐? [更新]
Center align a contact form on page with side by side text and input fields? [UPDATED]
编辑:我更新了 CSS 和 html。我已经弄清楚了居中,但在对齐标签和字段方面仍然遇到问题。
我需要将输入字段和标签排列到中间有一条完美线 运行 的位置,基本上将它们分开,因为标签堆叠在彼此之上,输入字段堆叠在顶部彼此的。
下面的代码已经很像我想要的样子,除了表单在左边缘,我的标签和输入字段没有完全对齐。
这是我目前的表格:
<div style="text-align:center">
<form>
<div>
Name: <input type="text" name="Name" size="40"/>
<br/>
<br/>
</div>
<div>
Address: <input type="text" name="Address" size="50"/>
<br/>
<br/>
</div>
<div>
City: <input type="text" name="City" size="25"/>
<br/>
<br/>
</div>
<div>
State: <input type="text" name="State" size="25"/>
<br/>
<br/>
</div>
<div>
Zip: <input type="text" name="Zip" size="25"/>
<br/>
<br/>
</div>
<div>
Email: <input type="text" name="Email" size="40"/>
<br/>
<br/>
</div>
<div>
Subscribe to our mailing list?
<br/>
<input type="radio" name="AddToList" value="yes" checked="checked" />Yes
<input type="radio" name="AddToList" value="no" />No
<br/>
<br/>
</div>
<div>
Comments:<br/>
<textarea name="comments" cols="70" rows="10" placeholder="Expected value of input"></textarea>
<br/>
<br/>
<input type="submit" />
<input type="reset" />
</div>
</form>
</div>
到目前为止,我唯一的 CSS 这个表格是:
form {
display: inline-block;
margin-left: auto;
margin-right: auto;
text-align: left;
}
这就是我想要完成的:
任何帮助或建议都将不胜感激,我真的只是被这个吓傻了。我尝试对表格使用一些居中方法,none 有效。
要使事物居中,请尝试:
margin: auto;
justify-content: center;
text-align: center
这应该对齐页面中的所有内容以及文本,边距也相等。
第二个选项:
margin: auto;
width: 80%
这将只占用父元素总宽度的 80%,如果这也不起作用,将自动居中,然后从第二个选项中删除 margin: auto。
要居中对齐,给要对齐的元素一个 class 的“center”,然后 select class in CSS。一个例子是:
.center {
text-align: center;
}
<div>
Email: <input type="text" name="Email" size="40" class="center"/>
<br/>
</div>
编辑:W3 Schools 是我找到答案的地方。
check this i just positioned it with css
<!DOCTYPE html>
<html>
<head>
<title>index</title>
<style>label{
position: relative;
bottom: 2px;
}
input{
position: relative;
margin-top: 10px;
}
.text{
display: flex;
justify-content: center;
}
.text{
display: flex;
justify-content: center;
}
</style>
</head>
<body>
<div style="text-align:center">
<form>
<div>
<label> Name:</label>
<input type="text" name="Name" size="40"/>
</div>
<div>
<label style="left:27px"> Address:</label>
<input type="text" name="Address" size="50" style="left:27px;"/>
</div>
<div>
<label style="right: 46px;">City: </label>
<input type="text" name="City" size="25" style="right:46px;"/>
</div>
<div>
<label style="right:48px">State:</label>
<input type="text" name="State" size="25"/ style="right: 49px;">
</div>
<div>
<label style="right: 43px;"> Zip:</label> <input type="text" name="Zip" size="25" style="right: 44px;"/>
</div>
<div>
<label style="bottom: 0px;" > Email:</label>
<input type="text" name="Email" size="40"/>
</div>
<div style="right: 180px; position: relative;" >
<label>Subscribe to our mailing list?</label>
<input type="radio" name="AddToList" value="yes" checked="checked" />Yes
<input type="radio" name="AddToList" value="no" />No
<br/>
<br/>
</div>
<div class="text">
<br>
<br>
<label style="top: 60px; left: 70px;"> Comments: </label>
<textarea name="comments" cols="70" rows="10" placeholder="Expected value of input" style="left: 84px; position: relative;"></textarea>
<br/>
<br/>
</div >
<div class="submit" style="right: 80px; position: relative;">
<input type="submit" width="" />
<input type="reset" />
</div >
</form>
</div>
<script src="test.js"></script>
</body>
</html>
编辑:我更新了 CSS 和 html。我已经弄清楚了居中,但在对齐标签和字段方面仍然遇到问题。 我需要将输入字段和标签排列到中间有一条完美线 运行 的位置,基本上将它们分开,因为标签堆叠在彼此之上,输入字段堆叠在顶部彼此的。 下面的代码已经很像我想要的样子,除了表单在左边缘,我的标签和输入字段没有完全对齐。
这是我目前的表格:
<div style="text-align:center">
<form>
<div>
Name: <input type="text" name="Name" size="40"/>
<br/>
<br/>
</div>
<div>
Address: <input type="text" name="Address" size="50"/>
<br/>
<br/>
</div>
<div>
City: <input type="text" name="City" size="25"/>
<br/>
<br/>
</div>
<div>
State: <input type="text" name="State" size="25"/>
<br/>
<br/>
</div>
<div>
Zip: <input type="text" name="Zip" size="25"/>
<br/>
<br/>
</div>
<div>
Email: <input type="text" name="Email" size="40"/>
<br/>
<br/>
</div>
<div>
Subscribe to our mailing list?
<br/>
<input type="radio" name="AddToList" value="yes" checked="checked" />Yes
<input type="radio" name="AddToList" value="no" />No
<br/>
<br/>
</div>
<div>
Comments:<br/>
<textarea name="comments" cols="70" rows="10" placeholder="Expected value of input"></textarea>
<br/>
<br/>
<input type="submit" />
<input type="reset" />
</div>
</form>
</div>
到目前为止,我唯一的 CSS 这个表格是:
form {
display: inline-block;
margin-left: auto;
margin-right: auto;
text-align: left;
}
这就是我想要完成的:
任何帮助或建议都将不胜感激,我真的只是被这个吓傻了。我尝试对表格使用一些居中方法,none 有效。
要使事物居中,请尝试:
margin: auto;
justify-content: center;
text-align: center
这应该对齐页面中的所有内容以及文本,边距也相等。
第二个选项:
margin: auto;
width: 80%
这将只占用父元素总宽度的 80%,如果这也不起作用,将自动居中,然后从第二个选项中删除 margin: auto。
要居中对齐,给要对齐的元素一个 class 的“center”,然后 select class in CSS。一个例子是:
.center {
text-align: center;
}
<div>
Email: <input type="text" name="Email" size="40" class="center"/>
<br/>
</div>
编辑:W3 Schools 是我找到答案的地方。
check this i just positioned it with css
<!DOCTYPE html>
<html>
<head>
<title>index</title>
<style>label{
position: relative;
bottom: 2px;
}
input{
position: relative;
margin-top: 10px;
}
.text{
display: flex;
justify-content: center;
}
.text{
display: flex;
justify-content: center;
}
</style>
</head>
<body>
<div style="text-align:center">
<form>
<div>
<label> Name:</label>
<input type="text" name="Name" size="40"/>
</div>
<div>
<label style="left:27px"> Address:</label>
<input type="text" name="Address" size="50" style="left:27px;"/>
</div>
<div>
<label style="right: 46px;">City: </label>
<input type="text" name="City" size="25" style="right:46px;"/>
</div>
<div>
<label style="right:48px">State:</label>
<input type="text" name="State" size="25"/ style="right: 49px;">
</div>
<div>
<label style="right: 43px;"> Zip:</label> <input type="text" name="Zip" size="25" style="right: 44px;"/>
</div>
<div>
<label style="bottom: 0px;" > Email:</label>
<input type="text" name="Email" size="40"/>
</div>
<div style="right: 180px; position: relative;" >
<label>Subscribe to our mailing list?</label>
<input type="radio" name="AddToList" value="yes" checked="checked" />Yes
<input type="radio" name="AddToList" value="no" />No
<br/>
<br/>
</div>
<div class="text">
<br>
<br>
<label style="top: 60px; left: 70px;"> Comments: </label>
<textarea name="comments" cols="70" rows="10" placeholder="Expected value of input" style="left: 84px; position: relative;"></textarea>
<br/>
<br/>
</div >
<div class="submit" style="right: 80px; position: relative;">
<input type="submit" width="" />
<input type="reset" />
</div >
</form>
</div>
<script src="test.js"></script>
</body>
</html>