您可以使用带有媒体查询的 CSS 网格来实现此目的。jsbin链接:https ://jsbin.com/retavuy/edit?html,css,output
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<main class="loginp-page">
<h1 class="login-title">Login</h1>
<form action="#" class="login-form">
<label for="login">Enter login</label>
<input type="text" id="login">
<button type="submit" class="button">Continue</button>
</form>
</main>
</body>
</html>
CSS
main {
padding-top: 1rem;
}
.login-title {
text-align: center;
font-size: 1.8rem;
color: #ff5454;
}
.login-form {
padding: 1rem;
display: grid;
grid-row-gap: 1rem;
grid-auto-rows: 2rem;
}
.login-form label {
font-weight: bold;
}
.login-form label,
.login-form input {
display: block;
}
.login-form input:not([type="checkbox"]) {
border: 1px solid #ccc;
padding: 0.2rem 0.5rem;
font: inherit;
}
.login-form input:focus,
.login-form select:focus {
outline: none;
background: #ece7e7;
border-color: #2ddf5c;
}
.login-form button[type="submit"] {
display: block;
}
@media (min-width: 40rem) {
.login-form {
margin: auto;
width: 30rem;
grid-template-columns: 10rem auto;
}
.login-form button[type="submit"] {
grid-column: 1 / 3;
}
}