以下是一些 常用的 CSS 代码大全,可以帮助你在开发工作中提高效率和质量,涵盖了布局、样式、响应式设计、动画等常见的应用场景。
1. 布局相关
Flexbox 布局
Flexbox 是一种一维布局模型,适用于简单的行或列布局。
/* 容器 */
.container {
display: flex;
justify-content: space-between; /* 左右间距平分 */
align-items: center; /* 垂直居中 */
flex-wrap: wrap; /* 换行 */
}
/* 子项 */
.item {
flex: 1; /* 子项平分空间 */
margin: 10px; /* 外边距 */
}
Grid 布局
Grid 是一个二维布局模型,可以处理更复杂的布局需求。
/* 容器 */
.container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* 三列均分 */
grid-gap: 10px; /* 格子间隙 */
}
/* 子项 */
.item {
background-color: #f0f0f0;
}
居中对齐
- 水平居中:
.center-horizontal {
width: 200px;
margin-left: auto;
margin-right: auto;
}
- 垂直居中(使用 Flexbox):
.center-vertical {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
height: 100vh; /* 父容器占满整个视口 */
}
2. 常用样式
透明度
使用 opacity
控制元素的透明度。
.transparent {
opacity: 0.5; /* 半透明 */
}
文字溢出处理
.text-overflow {
white-space: nowrap; /* 防止文本换行 */
overflow: hidden; /* 超出部分隐藏 */
text-overflow: ellipsis; /* 用省略号表示溢出的部分 */
}
圆角
.rounded-corner {
border-radius: 10px; /* 圆角 */
}
阴影效果
.shadow {
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); /* 2px 2px 为阴影偏移,10px 为模糊度 */
}
渐变背景
.gradient-background {
background: linear-gradient(to right, #ff7e5f, #feb47b); /* 左到右的渐变 */
}
透明背景色
使用 rgba
设置透明背景色。
.transparent-background {
background-color: rgba(0, 0, 0, 0.3); /* 黑色,30%透明度 */
}
3. 响应式设计
媒体查询
使用 @media
查询适配不同屏幕尺寸。
/* 针对小屏幕 */
@media (max-width: 600px) {
.container {
flex-direction: column; /* 小屏幕时,布局改为纵向 */
}
}
/* 针对大屏幕 */
@media (min-width: 1024px) {
.container {
grid-template-columns: repeat(4, 1fr); /* 大屏幕时,四列布局 */
}
}
视口单位(vw, vh)
使用视口单位进行响应式布局。
.full-width {
width: 100vw; /* 100%视口宽度 */
}
.full-height {
height: 100vh; /* 100%视口高度 */
}
4. 动画与过渡
过渡效果
/* 过渡:元素宽度从 100px 变到 300px */
.transition {
width: 100px;
transition: width 0.3s ease; /* 宽度变化,0.3秒,平滑过渡 */
}
.transition:hover {
width: 300px; /* 鼠标悬停时宽度增加 */
}
基础动画
@keyframes bounce {
0% { transform: translateY(0); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0); }
}
.bounce {
animation: bounce 1s infinite; /* 动画持续1秒,无限循环 */
}
旋转动画
@keyframes rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.rotate {
animation: rotate 2s linear infinite; /* 2秒内完成360度旋转 */
}
5. 表单样式
自定义表单控件样式
/* 自定义按钮 */
button {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
/* 自定义文本框 */
input[type="text"] {
width: 100%;
padding: 10px;
border: 2px solid #ddd;
border-radius: 5px;
}
input[type="text"]:focus {
border-color: #4CAF50;
}
禁用表单元素
input:disabled, button:disabled {
background-color: #ddd;
cursor: not-allowed;
}
6. 浏览器兼容性
浏览器前缀
某些 CSS 特性在不同浏览器中需要使用前缀来兼容。
/* 给不同浏览器的支持 */
.example {
-webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2); /* Chrome/Safari */
-moz-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2); /* Firefox */
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2); /* 通用 */
}
使用 autoprefixer
使用 Autoprefixer 自动为 CSS 添加浏览器前缀。可以在构建过程中自动完成。
7. 图标和字体图标
Font Awesome 图标
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<i class="fas fa-heart"></i> <!-- 使用 Font Awesome 图标 -->
自定义图标
.icon {
width: 30px;
height: 30px;
background: url('icon.png') no-repeat center center;
background-size: contain;
}
8. 其他常用样式
清除浮动
通过清除浮动来解决布局中的浮动问题。
.clearfix::after {
content: "";
display: block;
clear: both;
}
自定义列表样式
ul.custom-list {
list-style-type: none; /* 取消默认圆点 */
padding-left: 0;
}
ul.custom-list li {
padding-left: 20px;
position: relative;
}
ul.custom-list li::before {
content: '✔'; /* 添加勾选标记 */
position: absolute;
left: 0;
}
这些 CSS 代码和技巧可以大大提高开发效率,帮助你在日常工作中快速实现常见的页面效果。如果你有其他特定的需求,可以基于这些基础代码进行扩展和调整。
发表回复