【无标题】

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

}

相关推荐
im_AMBER2 小时前
React 20 useState管理组件状态 | 解构 | 将事件处理函数作为 props 传递 | 状态提升
前端·javascript·笔记·学习·react.js·前端框架
小oo呆2 小时前
【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Tools
前端·javascript·easyui
be or not to be2 小时前
HTML 与 CSS 基础入门笔记
css·笔记·html
亿元程序员2 小时前
你知道三国志战略版是怎么实现横竖屏动态切换的吗?
前端
BD_Marathon2 小时前
Vue3_双向绑定
前端·javascript·vue.js
霍理迪2 小时前
CSS复合、关系、属性、伪类选择器
前端·javascript·css
棒棒的唐2 小时前
Avue2图片上传使用object对象模式时,axios的请求模式用post还是get?
开发语言·前端·javascript·avue
OnlyEasyCode2 小时前
Linux部署Nginx前后端web教程
linux·前端·nginx
梵得儿SHI2 小时前
Vue Router 路由管理从入门到精通:基础、导航与参数传递实战(含避坑指南)
前端·javascript·vue.js·路由基础配置·版本适配·路由实例创建·路由规则定义