HTML中的表单Form实现居中效果
There are two main approaches to center a form in HTML using CSS:
text-align: center on the form element:This method is simple and straightforward, but it has limitations:
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Centered Form</title>
<style>
body {
margin: 0;
padding: 0;
font-family: sans-serif;
background-color: #f0f0f0;
}
form {
text-align: center; /* Center the form and its contents */
width: 300px; /* Adjust width as needed */
margin: 20px auto; /* Add margin for spacing */
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}
</style>
</head>
<body>
<form action="#">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<button type="submit">Submit</button>
</form>
</body>
</html>
Explanation:
text-align: center property is applied to the <form> element, which centers the form itself and all its child elements (labels, inputs, buttons).width property is set to adjust the form's width, and margin: 20px auto adds horizontal margins for spacing.Limitations of this method:
Flexbox and Grid Layout provide more flexibility and control over form centering, both horizontally and vertically:
Flexbox Example:
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Centered Form with Flexbox</title>
<style>
body {
margin: 0;
padding: 0;
font-family: sans-serif;
background-color: #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
height: 100vh; /* Set height to 100vh for full-screen centering */
}
form {
width: 300px;
margin: 0 auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #fff;
}
</style>
</head>
<body>
<form action="#">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<button type="submit">Submit</button>
</form>
</body>
</html>
Explanation:
body is set to display: flex, align-items: center, and justify-content: center to center the form both horizontally and vertically within the viewport.form element has the same styles as before, but it's not necessary to use text-align: center.Grid Layout Example:
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Centered Form with Grid Layout</title>
《无所畏惧》温莉的结局是什么
时间:2023-11-25
《无所畏惧》刘铭的结局是什么
时间:2023-11-25
《无所畏惧》罗英子和陈硕最后在一起了吗
时间:2023-11-25
《宁安如梦》 姜雪宁是如何设计让薛姝去和亲
时间:2023-11-25
《宁安如梦》薛姝为了不和亲做了什么
时间:2023-11-25
《宁安如梦》为什么姜雪蕙只能当侧妃
时间:2023-11-25