CSS3属性奇妙世界

🎨 CSS3属性奇妙世界:前端设计师的魔法调色板

🌈 CSS3属性全家福

🏆 CSS3选择器:精准定位的狙击手

CSS3选择器
属性选择器
[attr^=][attr$=][attr*=]
结构伪类
:nth-child :first-of-type
状态伪类
:checked :focus :disabled
否定伪类
:not()

生活类比:

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;
}

📦 盒模型艺术家:塑造元素形状

盒模型相关属性
圆角
border-radius
阴影
box-shadow
盒尺寸
box-sizing
外轮廓
outline

生活类比:

想象你是木匠,传统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背景属性
渐变背景
linear-gradient
radial-gradient
多重背景
多图层叠加
背景尺寸
background-size
背景定位
background-origin
背景裁剪
background-clip

生活类比:

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;
}

📝 文字魅力:排版的艺术

文字相关属性
文字阴影
text-shadow
自定义字体
@font-face
文字溢出
text-overflow
断词规则
word-break
文字描边
text-stroke

生活类比:

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端熊猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值