diff --git "a/\345\217\266\345\255\220\350\241\241/20240930-CSS\350\203\214\346\231\257\345\261\236\346\200\247\350\257\246\350\247\243.md" "b/\345\217\266\345\255\220\350\241\241/20240930-CSS\350\203\214\346\231\257\345\261\236\346\200\247\350\257\246\350\247\243.md" new file mode 100644 index 0000000000000000000000000000000000000000..ebebe93fb3bdc11c63baf94caf6bb8021b8be203 --- /dev/null +++ "b/\345\217\266\345\255\220\350\241\241/20240930-CSS\350\203\214\346\231\257\345\261\236\346\200\247\350\257\246\350\247\243.md" @@ -0,0 +1,157 @@ +# 20240930第十次课笔记 + +## CSS 背景属性详解 + +### 1. `background-color` 背景颜色 + +- **作用**:用于设置元素的背景颜色,可以使用颜色名称、十六进制颜色代码、RGB 颜色值、RGBA 颜色值等方式来定义。 +- **属性值**: + - **颜色名称**:如 `red`、`blue`、`green` 等。 + - **十六进制**:以 `#` 开头,后跟 6 个字符(如 `#ff99ff`),分别表示红色、绿色和蓝色的值。 + - **RGB 表示法**:`rgb(255, 153, 255)`,分别表示红色、绿色和蓝色的值,范围是 0~255。 + - **RGBA 表示法**:`rgba(255, 153, 255, 0.5)`,与 RGB 类似,但多了一个透明度的值,范围是 0~1。 +- **示例**: + ```css + background-color: red; /* 使用颜色名称 */ + background-color: #ff99ff; /* 使用十六进制颜色 */ + background-color: rgb(255, 153, 255); /* 使用 RGB 颜色 */ + background-color: rgba(255, 153, 255, 0.5); /* 使用 RGBA 颜色,并设置透明度 */ + ``` + +### 2. `background-image` 背景图像 + +- **作用**:用于为元素设置背景图像,可以使用 URL 地址来指定图像文件。 +- **属性值**: + - **URL 地址**:图像的路径,如 `url('images/bg.jpg')` 或 `url('https://example.com/image.png')`。 + - 如果使用的是本地路径,建议确保路径相对于 CSS 文件的相对位置是正确的。 +- **示例**: + ```css + background-image: url('images/bg.jpg'); /* 使用本地路径 */ + background-image: url('https://example.com/image.png'); /* 使用网络图像 */ + ``` +- **注意**:如果图像地址无效或加载失败,元素的背景将不会显示图像。 + +### 3. `background-repeat` 背景图像重复方式 + +- **作用**:用于控制背景图像在元素中的平铺方式,默认情况下,背景图像会在水平和垂直方向上平铺,填充整个元素。 +- **常用属性值**: + - `no-repeat`:背景图像不会平铺,只显示一次。 + - `repeat-x`:背景图像仅在水平方向平铺。 + - `repeat-y`:背景图像仅在垂直方向平铺。 + - `repeat`(默认值):背景图像在水平方向和垂直方向都平铺。 + - `space`:背景图像按整数倍平铺,剩余空间会被均匀地分隔开。 + - `round`:背景图像按整数倍平铺,可能会调整图像的大小,使其正好填满整个容器。 + +- **示例**: + ```css + background-repeat: no-repeat; /* 背景图像不平铺 */ + background-repeat: repeat-x; /* 背景图像在水平方向平铺 */ + background-repeat: repeat-y; /* 背景图像在垂直方向平铺 */ + background-repeat: repeat; /* 背景图像在两个方向都平铺 */ + background-repeat: space; /* 背景图像按整数倍平铺,并均匀分隔 */ + background-repeat: round; /* 背景图像按整数倍平铺,并调整大小 */ + ``` + +### 4. `background-position` 背景图像位置 + +- **作用**:用于设置背景图像在元素中的具体位置。可以通过关键词(如 `left`、`center`、`right`、`top`、`bottom`)来描述,也可以使用具体的数值(如像素、百分比)来定位。 + +- **常用属性值**: + - 使用关键词描述位置: + - `left`:背景图像位于容器的左侧。 + - `center`:背景图像位于容器的中心。 + - `right`:背景图像位于容器的右侧。 + - `top`:背景图像位于容器的顶部。 + - `bottom`:背景图像位于容器的底部。 + + 关键词可以组合使用,例如 `background-position: center top;` 表示背景图像在容器的水平居中、垂直顶部位置。 + + - 使用像素值描述位置: + - 语法:`background-position: 水平方向偏移量 垂直方向偏移量;` + - 可以是正数或负数,例如 `background-position: 100px 200px;`,表示图像向右偏移 100 像素,向下偏移 200 像素;`-50px -100px` 表示图像向左偏移 50 像素,向上偏移 100 像素。 + +- **示例**: + ```css + background-position: center center; /* 背景图像居中显示 */ + background-position: left top; /* 背景图像位于左上角 */ + background-position: 50px 100px; /* 背景图像向右偏移50px,向下偏移100px */ + background-position: -30px -50px; /* 背景图像向左偏移30px,向上偏移50px */ + ``` + +### 5. `background-attachment` 背景图像附着方式 + +- **作用**:用于控制背景图像在滚动时是否固定在视口中,还是随内容一起滚动。 +- **常用属性值**: + - `scroll`(默认值):背景图像随元素内容滚动。 + - `fixed`:背景图像固定在视口中,不随元素内容滚动。 + - `local`:背景图像随元素的内容滚动,而不是整个视口。 + +- **示例**: + ```css + background-attachment: scroll; /* 背景图像随内容滚动 */ + background-attachment: fixed; /* 背景图像固定在视口 */ + background-attachment: local; /* 背景图像随元素内容滚动 */ + ``` + +### 6. `background-size` 背景图像大小 + +- **作用**:用于设置背景图像的尺寸,可以使用具体的数值(像素、百分比),也可以使用关键字 `cover` 或 `contain` 来描述。 + +- **常用属性值**: + - **具体数值**:可以设置背景图像的宽度和高度,如 `background-size: 100px 200px;` 表示宽度 100 像素,高度 200 像素。 + - **百分比**:可以使用百分比值相对于容器大小来设置尺寸,例如 `background-size: 50% 50%;` 表示图像宽度和高度均占容器的 50%,可以简写为 `background-size: 50%;`。 + - **关键字**: + - `cover`:图像始终填满整个容器,并保持长宽比例不变,超出部分会被裁剪。 + - `contain`:图像完整显示在容器中,并保持长宽比例不变,可能会在容器的某些区域留白。 + +- **示例**: + ```css + background-size: 100px 200px; /* 背景图像宽度100px,高度200px */ + background-size: 50% 50%; /* 背景图像宽高各占容器的50% */ + background-size: cover; /* 背景图像填满容器 */ + background-size: contain; /* 背景图像完整显示在容器中 */ + ``` + +### 7. RGB 表示法 + +- **作用**:通过红(Red)、绿(Green)、蓝(Blue)三原色的组合来定义颜色,每个颜色的取值范围为 0~255。 +- **语法**: + - `rgb(R, G, B)`,其中 R、G、B 的取值范围是 0 到 255。 +- **示例**: + ```css + background-color: rgb(255, 0, 0); /* 红色 */ + background-color: rgb(0, 255, 0); /* 绿色 */ + background-color: rgb(0, 0, 255); /* 蓝色 */ + ``` + +### 8. RGBA 表示法 + +- **作用**:在 RGB 基础上增加透明度(Alpha),Alpha 取值范围为 0(完全透明)到 1(完全不透明)。 +- **语法**: + - `rgba(R, G, B, A)`,其中 A 表示透明度的值,取值范围为 0 到 1。 +- **示例**: + ```css + background-color: rgba(255, 0, 0, 0.5); /* + + 半透明红色 */ + background-color: rgba(0, 255, 0, 0.8); /* 半透明绿色 */ + background-color: rgba(0, 0, 255, 0.3); /* 半透明蓝色 */ + ``` + +### 9. `background` 简写属性 + +- **作用**:可以将 `background-color`、`background-image`、`background-repeat`、`background-position`、`background-size`、`background-attachment` 等属性合并成一个 `background` 简写属性。 +- **语法**: + ```css + background: [背景颜色] [背景图像] [平铺方式] [位置] / [背景尺寸] [附着方式]; + ``` +- **示例**: + ```css + background: url('https://example.com/image.png') no-repeat center center / cover fixed; + ``` + 该示例的含义是: + - 使用 `https://example.com/image.png` 作为背景图像。 + - 不平铺背景图像(`no-repeat`)。 + - 图像居中显示(`center center`)。 + - 图像覆盖容器(`cover`)。 + - 背景图像固定不随内容滚动(`fixed`)。 \ No newline at end of file diff --git "a/\345\217\266\345\255\220\350\241\241/20241009-CSS\351\242\234\350\211\262\346\270\220\345\217\230.md" "b/\345\217\266\345\255\220\350\241\241/20241009-CSS\351\242\234\350\211\262\346\270\220\345\217\230.md" new file mode 100644 index 0000000000000000000000000000000000000000..6cac8464bd1eda54d60811907cee19fa0a5f0cba --- /dev/null +++ "b/\345\217\266\345\255\220\350\241\241/20241009-CSS\351\242\234\350\211\262\346\270\220\345\217\230.md" @@ -0,0 +1,84 @@ +# 20241009第十一次课笔记 + +## 1. 线性渐变(`linear-gradient`) + +**语法:** + +```css +background-image: linear-gradient(方向, 起始颜色, 终止颜色); +``` + ++ **线性渐变基本结构:** + - 必须定义至少两个颜色节点 + - 可以指定一个方向或角度(角度值以 `deg` 为单位) + ++ **方向类型:** + - `to left`:从右向左渐变 + - `to right`:从左向右渐变 + - `to top`:从下向上渐变 + - `to bottom`:从上向下渐变 + - 默认方向为从上到下的渐变(`to bottom`) + ++ **角度定义:** + - 使用角度值,例如 `30deg`,表示顺时针方向旋转 30 度 + +### 示例: + +1. **简单线性渐变:** + +```css +background-image: linear-gradient(to right, red, green); +``` +上例表示从左向右的颜色渐变(从红色到绿色)。 + +2. **角度线性渐变:** + +```css +background-image: linear-gradient(-90deg, red, yellow); +``` +上例表示从 90 度角(逆时针方向)起的线性渐变。 + +3. **重复线性渐变:** + +```css +background-image: repeating-linear-gradient(red, yellow 10%, green 20%); +``` +上例表示将渐变颜色重复显示。 + +--- + +## 2. 径向渐变(`radial-gradient`) + +**语法:** + +```css +background-image: radial-gradient(辐射半径大小, 中心位置, 起始颜色, 终止颜色); +``` + ++ **径向渐变基本结构:** + - 渐变围绕指定的中心点进行(可以定义渐变半径和中心位置) + - 形状默认为椭圆(`ellipse`) + ++ **形状类型:** + - `circle`:圆形渐变 + - `ellipse`:椭圆形渐变(默认值) + ++ **中心位置类型:** + - 使用关键字:`at left`、`at right`、`at top`、`at bottom`、`at center` 等 + - 使用像素值:例如 `100px 150px`,表示从盒子左上角起始的具体位置 + +### 示例: + +1. **简单径向渐变:** + +```css +background-image: radial-gradient(circle, red, yellow, green); +``` +上例表示以圆形为形状,从红色到黄色,再到绿色的径向渐变。 + +2. **自定义半径及中心位置的径向渐变:** + +```css +background-image: radial-gradient(100px at center, yellow, green); +``` +上例表示以 `100px` 半径,以盒子中心点(`center`)为起点,从黄色到绿色的渐变。 diff --git "a/\345\217\266\345\255\220\350\241\241/\344\275\234\344\270\232/20240930-\350\203\214\346\231\257\345\261\236\346\200\247\347\273\203\344\271\240/\346\225\210\346\236\234\345\233\276.md" "b/\345\217\266\345\255\220\350\241\241/\344\275\234\344\270\232/20240930-\350\203\214\346\231\257\345\261\236\346\200\247\347\273\203\344\271\240/\346\225\210\346\236\234\345\233\276.md" new file mode 100644 index 0000000000000000000000000000000000000000..9423cd0dbbcba93d38c20d2f1c9c95c55ed1aae7 --- /dev/null +++ "b/\345\217\266\345\255\220\350\241\241/\344\275\234\344\270\232/20240930-\350\203\214\346\231\257\345\261\236\346\200\247\347\273\203\344\271\240/\346\225\210\346\236\234\345\233\276.md" @@ -0,0 +1,243 @@ +# 背景属性练习 + + + +# 源码 + +```html + + +
+ + +