body { font-family: 'Arial', sans-serif; } /* 全局样式 /
.container { max-width: 1200px; margin: 0 auto; } / 类选择器 /
#header { background: #333; color: white; } / ID选择器 */
input[type="email"] { border: 1px solid #ccc; } /* 精确匹配属性 /
a[href^="https"]::after { content: "↗"; } / 属性以"https"开头 */
button:hover { background: #4CAF50; } /* 鼠标悬停状态 /
p::first-line { font-weight: bold; } / 首行样式 */
.card {
width: 100%;
max-width: 400px;
padding: clamp(1rem, 5vw, 2rem); /* 动态调整间距 */
}
- CSS布局技术
.flex-container {
display: flex;
justify-content: space-between; /* 水平分布 /
align-items: center; / 垂直对齐 /
gap: 20px; / 间距 */
}
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* 响应式列 /
grid-gap: 15px; / 网格间距 */
}
.modal {
position: fixed; /* 固定定位 /
top: 50%;
left: 50%;
transform: translate(-50%, -50%); / 居中 /
z-index: 1000; / 层级控制 */
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-element {
animation: fadeIn 0.5s ease-out forwards; /* 动画效果 */
}
.button {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* 平滑过渡 /
}
.button:active {
transform: scale(0.98); / 点击效果 */
}
.flex-center {
display: flex;
justify-content: center; /* 水平居中 /
align-items: center; / 垂直居中 /
height: 100vh; / 撑满视口高度 */
}
.grid-center {
display: grid;
place-items: center; /* 同时控制水平和垂直 */
height: 100vh;
}
.table-center {
display: table;
width: 100%;
height: 100vh;
}
.table-cell {
display: table-cell;
text-align: center; /* 水平居中 /
vertical-align: middle; / 垂直居中 */
}
.abs-center {
position: absolute;
top: 50%;
left: 50%;
margin-top: -50px; /* 高度的一半 /
margin-left: -50px; / 宽度的一半 */
width: 100px;
height: 100px;
}
.calc-center {
position: absolute;
top: calc(50% - 25px); /* 50%减去自身高度一半 /
left: calc(50% - 50px); / 50%减去自身宽度一半 */
width: 100px;
height: 50px;
}
.viewport-center {
position: absolute;
top: 50vh; /* 视口高度50% /
left: 50vw; / 视口宽度50% */
transform: translate(-50%, -50%);
}
.auto-margin {
display: flex;
width: 100vw;
height: 100vh;
}
.child {
margin: auto; /* 自动占满剩余空间 */
}
.text-center {
text-align: center; /* 水平居中 /
line-height: 3em; / 垂直居中(需已知容器高度) /
height: 3em;
}
/ 或使用Flexbox */
.text-center {
display: flex;
align-items: center;
justify-content: center;
}
.frosted-glass {
background: rgba(255,255,255,0.2);
backdrop-filter: blur(10px); /* 背景模糊 */
border: 1px solid rgba(255,255,255,0.1);
}
::-webkit-scrollbar {
width: 8px; /* 滚动条宽度 /
}
::-webkit-scrollbar-track {
background: #f1f1f1; / 轨道背景 /
}
::-webkit-scrollbar-thumb {
background: #888; / 滚动条颜色 /
border-radius: 4px; / 圆角 */
}