🎨 CSS3属性奇妙世界:前端设计师的魔法调色板
🌈 CSS3属性全家福
🏆 CSS3选择器:精准定位的狙击手
生活类比:
CSS3选择器就像一个超级精准的遥控器。传统CSS只能按编号选择频道,而CSS3选择器可以说"我要切换到所有电影频道中正在播放科幻片且评分超过8分的频道"——它的精准定位能力让我们可以不修改HTML结构,就能精确控制各种元素。
/* 属性选择器:选择所有以"http"开头的链接 */
a[href^="http"] {
background: url(external-link.png) no-repeat right;
padding-right: 20px;
}
/* 选择所有.pdf结尾的链接 */
a[href$=".pdf"] {
background: url(pdf-icon.png) no-repeat left;
padding-left: 22px;
}
/* 结构性伪类:表格中的斑马条纹 */
tr:nth-child(odd) {
background-color: #f2f2f2;
}
/* 第一个段落加大字体 */
p:first-of-type {
font-size: 1.2em;
font-weight: bold;
}
/* 状态伪类:选中的复选框样式 */
input[type="checkbox"]:checked + label {
color: #3a86ff;
font-weight: bold;
}
/* 非空输入框的样式 */
input:not(:placeholder-shown) {
border-color: #38b000;
}
📦 盒模型艺术家:塑造元素形状
生活类比:
想象你是木匠,传统CSS只给你直尺和方形模板,而CSS3盒模型属性则是一整套精密工具——可以打磨圆角,加上装饰性阴影,甚至改变测量木材的方式。border-radius就像砂纸,让你打磨掉尖锐的直角;box-shadow像是为成品添加精致的投影效果。
/* 圆角按钮 */
.button {
border-radius: 20px; /* 均匀圆角 */
background-color: #4361ee;
color: white;
padding: 10px 20px;
}
/* 不同方向的圆角 */
.card {
border-radius: 30px 0 30px 0; /* 左上、右上、右下、左下 */
background-color: white;
padding: 20px;
}
/* 完全圆形 */
.avatar {
width: 100px;
height: 100px;
border-radius: 50%; /* 圆形 */
object-fit: cover; /* 保持图片比例 */
}
/* 多层阴影效果 */
.fancy-box {
box-shadow:
0 5px 15px rgba(0,0,0,0.1), /* 外阴影 */
0 0 0 1px rgba(0,0,0,0.05), /* 边框阴影 */
inset 0 0 5px rgba(0,0,0,0.05); /* 内阴影 */
padding: 20px;
background: white;
}
/* box-sizing改变盒模型计算方式 */
.container {
box-sizing: border-box; /* 宽度包含padding和border */
width: 100%;
padding: 20px;
border: 1px solid #ddd;
}
🌄 背景魔术师:丰富多彩的底层
生活类比:
CSS3背景属性就像一位专业室内装修师。以前你只能贴一种墙纸,现在可以同时使用多种壁纸创造层次感,可以使用渐变色创造专业效果,甚至控制装饰画的精确尺寸和位置。这让网页从单调的"公寓风格"升级为"设计师精品风格"。
/* 线性渐变背景 */
.gradient-bg {
background-image: linear-gradient(to right, #f72585, #4361ee);
color: white;
padding: 20px;
}
/* 径向渐变 */
.radial-bg {
background-image: radial-gradient(circle at center, #fff 0%, #f9c74f 50%, #f94144 100%);
height: 300px;
}
/* 多重背景叠加 */
.layered-bg {
background:
url(stars.png) top left repeat, /* 顶层: 星星图案 */
linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), /* 中层: 半透明遮罩 */
url(night-sky.jpg) center/cover; /* 底层: 主背景图 */
height: 400px;
color: white;
}
/* 背景尺寸控制 */
.cover-bg {
background-image: url(landscape.jpg);
background-size: cover; /* 覆盖整个区域,可能裁剪图片 */
background-position: center;
height: 300px;
}
.contain-bg {
background-image: url(icon.png);
background-size: contain; /* 完整显示图片,可能有空白 */
background-repeat: no-repeat;
background-position: center;
height: 200px;
}
/* 背景裁剪到文字 */
.text-clip {
background-image: url(colorful-pattern.jpg);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
font-size: 80px;
font-weight: bold;
text-align: center;
}
📝 文字魅力:排版的艺术
生活类比:
CSS3文字属性就像一位文字设计大师的工具箱。传统CSS只能改变基本样式,而CSS3让你能像专业印刷设计师一样控制文字的每个方面——添加阴影、使用品牌专属字体、控制文字溢出方式、文字描边等。就像从普通打印机升级到专业印刷设备。
/* 文字阴影效果 */
.text-shadow {
text-shadow: 2px 2px 4px rgba(0,0,0,0.3); /* x偏移, y偏移, 模糊半径, 颜色 */
font-size: 2em;
}
/* 多重文字阴影 - 霓虹灯效果 */
.neon-text {
color: #fff;
text-shadow:
0 0 5px #fff,
0 0 10px #fff,
0 0 15px #0073e6,
0 0 20px #0073e6,
0 0 25px #0073e6;
font-size: 3em;
}
/* 自定义字体 */
@font-face {
font-family: 'MyCustomFont';
src: url('custom-font.woff2') format('woff2'),
url('custom-font.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap; /* 控制字体加载行为 */
}
.custom-font {
font-family: 'MyCustomFont', sans-serif;
}
/* 文字溢出处理 */
.ellipsis {
white-space: nowrap; /* 禁止换行 */
overflow: hidden; /* 隐藏溢出部分 */
text-overflow: ellipsis; /* 显示... */
width: 200px;
}
/* 多行文本截断 */
.multiline-ellipsis {
display: -webkit-box;
-webkit-line-clamp: 3; /* 最多显示3行 */
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 1.5;
}