【无标题】

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); /* 动态调整间距 */

}

  1. 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; /
圆角 */

}

相关推荐
xiaotao1313 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉3 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro4 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常4 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆4 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶4 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐5 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅5 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏5 小时前
Next.js 13变化有多大?
前端·react·nextjs
糖炒栗子03265 小时前
前端项目标准环境搭建与启动
前端