【无标题】

body { font-family: 'Arial', sans-serif; } /* 全局样式 /
.container { max-width: 1200px; margin: 0 auto; } /
类选择器 /
#header { background: #333; color: white; } /
ID选择器 */

inputtype="email" { border: 1px solid #ccc; } /* 精确匹配属性 /
ahref\^="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; /
圆角 */

}

相关推荐
kyriewen27 分钟前
我把今年流传的前端 AI 面试题整理了一遍——4 类场景题+回答框架(附速查表)
前端·面试·程序员
计算机魔术师1 小时前
国产多模态模型正面硬刚Opus旗舰:差距从30%缩到3%
前端
风骏时光牛马1 小时前
程序员进阶:深度思考,解锁职场成长的底层逻辑
前端
IT_陈寒1 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
爱丶不疚2 小时前
Eval: Agent 说的 Eval 是什么?从单测、TDD 到 Sentry 聊起
前端·ai编程·vibecoding
三十而立洋2 小时前
Flex 与 Grid 布局完全指南
css
求道於盲2 小时前
python中的类型标注
前端
计算机魔术师2 小时前
从硅谷测试到全球铺开,ChatGPT广告的10亿美元秘密
前端
专业抄代码选手3 小时前
08|Fiber 上的 `useState`:状态终于属于具体组件
前端·javascript·react.js
默_笙3 小时前
😭 Vibe Coding 翻车实录:AI 编程为什么必须先写"剧本"
前端·javascript