效果演示
实现了一个简单的登录页面的样式和交互效果。
Code
<div class="flex">
<div class="login color">Login</div>
<label class="color">Username :</label>
<input type="text" class="input">
<label class="color">Password :</label>
<input type="password" class="input">
<button class="">Log-in</button>
<br>
<div class="color align">Don't have account? <span class="span">Sign-Up</span></div>
</div>
body {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background-color: #212121;
}
.form {
display: flex;
flex-direction: column;
gap: 10px;
background: linear-gradient(to right, grey, silver);
padding: 40px;
border-radius: 10px;
}
.login {
font-size: 25px;
font-weight: bold;
text-align: center;
margin-bottom: 20px;
}
.flex {
display: flex;
flex-direction: column;
}
.form button {
margin-top: 25px;
margin-bottom: 6px;
border-radius: 10px;
border: none;
padding-top: 4px;
padding-bottom: 4px;
font-size: 19px;
font-weight: bold;
color: grey;
}
.form label {
margin-top: 20px;
margin-bottom: 5px;
}
.form button:hover {
box-shadow: 2px 2px 12px white;
}
.input {
height: 30px;
outline: none;
padding: 15px;
border-radius: 10px;
border: none;
font-weight: bold;
font-size: 15px;
box-shadow: 2px 2px 12px inset black;
}
.span:hover {
font-weight: bold;
}
.color {
color: white;
}
.align {
text-align: center;
}
实现思路拆分
body {
height: 100vh; /* 设置页面高度为视口高度 */
display: flex; /* 设置页面为flex布局 */
justify-content: center; /* 设置主轴居中对齐 */
align-items: center; /* 设置交叉轴居中对齐 */
background-color: #212121; /* 设置背景颜色为深灰色 */
}
这段代码设置了页面的基本样式,包括高度、布局方式、对齐方式和背景颜色。
.form {
display: flex; /* 设置表单为flex布局 */
flex-direction: column; /* 设置主轴为垂直方向 */
gap: 10px; /* 设置表单元素之间的间距为10px */
background: linear-gradient(to right, grey, silver); /* 设置表单背景为从左到右的渐变色 */
padding: 40px; /* 设置表单内边距为40px */
border-radius: 10px; /* 设置表单边框为圆角矩形 */
}
这段代码设置了表单的样式,包括布局方式、主轴方向、间距、背景、内边距和边框。
.login {
font-size: 25px; /* 设置登录标题的字体大小为25px */
font-weight: bold; /* 设置登录标题的字体粗细为bold */
text-align: center; /* 设置登录标题居中对齐 */
margin-bottom: 20px; /* 设置登录标题下方的间距为20px */
}
这段代码设置了登录标题的样式,包括字体大小、字体粗细、对齐方式和下方的间距。
.flex {
display: flex; /* 设置容器为flex布局 */
flex-direction: column; /* 设置主轴为垂直方向 */
}
这段代码设置了容器的样式,包括布局方式和主轴方向。
.form button {
margin-top: 25px; /* 设置按钮上方的间距为25px */
margin-bottom: 6px; /* 设置按钮下方的间距为6px */
border-radius: 10px; /* 设置按钮的圆角半径为10px */
border: none; /* 设置按钮没有边框 */
padding-top: 4px; /* 设置按钮内边距上方的间距为4px */
padding-bottom: 4px; /* 设置按钮内边距下方的间距为4px */
font-size: 19px; /* 设置按钮字体大小为19px */
font-weight: bold; /* 设置按钮字体粗细为bold */
color: grey; /* 设置按钮字体颜色为灰色 */
}
这段代码设置了按钮的样式,包括上方和下方的间距、圆角半径、边框、内边距、字体大小、字体粗细和字体颜色。
.form label {
margin-top: 20px; /* 设置标签上方的间距为20px */
margin-bottom: 5px; /* 设置标签下方的间距为5px */
}
这段代码设置了标签的样式,包括上方和下方的间距。
.form button:hover {
box-shadow: 2px 2px 12px white; /* 设置鼠标悬停在按钮上时的阴影效果 */
}
这段代码设置了鼠标悬停在按钮上的样式,包括阴影效果。
.input {
height: 30px; /* 设置输入框高度为30px */
outline: none; /* 设置输入框没有轮廓线 */
padding: 15px; /* 设置输入框内边距为15px */
border-radius: 10px; /* 设置输入框的圆角半径为10px */
border: none; /* 设置输入框没有边框 */
font-weight: bold; /* 设置输入框字体粗细为bold */
font-size: 15px; /* 设置输入框字体大小为15px */
box-shadow: 2px 2px 12px inset black; /* 设置输入框的阴影效果 */
}
这段代码设置了输入框的样式,包括高度、轮廓线、内边距、圆角半径、边框、字体粗细、字体大小和阴影效果。
.span:hover {
font-weight: bold; /* 设置鼠标悬停在span上时的字体粗细为bold */
}
这段代码设置了鼠标悬停在span上的样式,包括字体粗细。
.color {
color: white; /* 设置color类的文本颜色为白色 */
}
这段代码设置了color类的样式,包括文本颜色。
.align {
text-align: center; /* 设置align类的文本居中对齐 */
}
这段代码设置了align类的样式,包括文本居中对齐。