From 795bee697493d5b76d34ec0a79564dc4f9bb959e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=98=89=E7=8E=B2?= <14091858+softwork-wjl@user.noreply.gitee.com> Date: Tue, 22 Oct 2024 21:22:39 +0800 Subject: [PATCH 1/3] =?UTF-8?q?20241021=E5=AE=9A=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241021\345\256\232\344\275\215.md" | 407 ++++++++++++++++++ 1 file changed, 407 insertions(+) create mode 100644 "\345\220\264\345\230\211\347\216\262/20241021\345\256\232\344\275\215.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241021\345\256\232\344\275\215.md" "b/\345\220\264\345\230\211\347\216\262/20241021\345\256\232\344\275\215.md" new file mode 100644 index 0000000..895546a --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241021\345\256\232\344\275\215.md" @@ -0,0 +1,407 @@ +# 笔记 + + css定位属性有三种:分别是绝对定位、相对定位、固定定位 + +``` + position: absolute; + + position: relative; + + position: fixed; +``` + +## 相对定位:让元素相对于自己原来的位置 + +**不脱标** + +position:relative + +``` +background-position:向右偏移量 向下偏移; +``` + +### 不脱标 +真实位置在老家,影子出去玩 + +### 用途 ++ 微调元素 ++ 做绝对定位的参考:子绝父相 + +### 相对定位的定位值 ++ left:盒子右移 ++ right:盒子左移 ++ top:盒子下移 ++ bottom:盒子上移 +**负数表示相反方向** +`left:200px`等价于`right:-200px` + +## 绝对定位 +**脱标** + +position:absolute + +**绝对定位**:定义横纵坐标。原点在父容器的左上角或左下角。横坐标用left表示,纵坐标用top或者bottom表示。 + +### 绝对定位会脱标 +绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要`display:block`就可以设置宽、高了。 + +### 绝对定位参考点 + +1. 如果用`top`描述,参考点就是**页面的左上角**,不是浏览器左上角 + +2. 如果用`bottom`描述,参考点是**浏览器首屏窗口尺寸** + +注意以下: +1. 要听最近的已经定位的祖先元素的,不一定是父亲,可能是爷爷 +2. 不一定是相对定位,任何定位,都可以作为儿子的参考点:父亲浮动,设置相对定位(零偏移),然后让儿子绝对定位一定的距离。 +3. 绝对定位的儿子,无视参考的那个盒子的padding + +**让绝对定位中的盒子在父亲里居中** + +```css +div{ + width:600px; + height:60px; + position:absolute; 绝对定位的盒子 + left:50%; 首先,让左边线居中 + top:50%; 让中间线居中 + margin-left:-50px; 然后,向左移动宽度(100px)的一半 + margin-top:-50px; 向上移动(100px)的一半 +} +``` +我们可以总结成一个公式: + +> left:50%; margin-left:负的宽度的一半 + +## 固定定位 +就是相对浏览器窗口进行定位。无论页面如何滚动,这个盒子显示的位置不变。 + +`position:fixed` + +1. 用途:网页右下角显示回到顶部,就可以固定定位 + +```css + +``` + +2.用途:顶部导航条 + +```html + + + + + Document + + + + + + +``` + +## z-index属性: +**表示谁压着谁,数值大的压盖住数值小的** +有如下特性: + + (1)属性值大的位于上层,属性值小的位于下层。 + + (2)z-index值没有单位,就是一个正整数。默认的z-index值是0。 + + (3)如果大家都没有z-index值,或者z-index值一样,那么在HTML代码里写在后面,谁就在上面能压住别人。定位了的元素,永远能够压住没有定位的元素。 + + (4)只有定位了的元素,才能有z-index值。也就是说,不管相对定位、绝对定位、固定定位,都可以使用z-index值。**而浮动的元素不能用**。 + + (5)从父现象:父亲怂了,儿子再牛逼也没用。意思是,如果父亲1比父亲2大,那么,即使儿子1比儿子2小,儿子1也能在最上层。 + + +z-index属性的应用还是很广泛的。当好几个已定位的标签出现覆盖的现象时,我们可以用这个z-index属性决定,谁处于最上方。也就是**层级**的应用。 + + +**层级:** + +(1)必须有定位(除去static) + +(2)用`z-index`来控制层级数。 + +# 作业 + +1. 创建一个在其父级容器中水平、垂直居中的绝对定位元素,如下效果: +效果: +```css + #d1{ + /* 相对定位 */ + position: relative; + width: 300px; + height: 300px; + border: 1px solid black; + background-color: pink; + } + #d2{ + /* 绝对定位 */ + position: absolute; + width: 100px; + height: 100px; + top: 50%; + left: 50%; + background-color: yellow; + margin-top: -50px; + margin-left: -50px; + } +``` +html代码 +```html + +
+
8888
+
+``` + +2. 在页面顶部创建一个固定不动的导航条,要求不遮盖下面的内容 + +```css + /* fixed;属性来固定导航条, + 并通过适当的top、z-index和padding-top等样式属性来确保下面的内容不会被遮盖。 */ + *{ + margin: 0px; + padding: 0px; + } + .c1{ + top: 0px; + left: 0px; + position: fixed; + width: 100%; + height: 50px; + background-color:gray; + color: black; + border: 1px solid black; + /* 设置背景不会覆盖内容,只需要z-index: ;足够高 */ + z-index: 1000; + } + .c2{ + width: 300px; + height: 100%; + margin-top: 50px; + position: relative; + + } +``` + +html代码 +```html + +
8888
+
33333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + 333333333333333333333333333333333333333 + .......... + +
+ +``` +3. 创建一个悬浮在文字下方的提示框,当鼠标经过的时候展示出来,鼠标移开不显示 +```css + .c1 { + position: relative; + display: inline-block; + + /* 鼠标悬停在这个元素上时,鼠标指针会变成一个手形图标: cursor: pointer; */ + cursor: pointer; + } + + .c1 .c2 { + /* 临时隐藏的元素 */ + visibility: hidden; + width: 160px; + background-color: #555; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px; + position: absolute; + z-index: 1; + top:100%; /* 位置在文字下方,距离可以根据需要调整 */ + left: 50%; + margin-left: -80px; /* 提示框宽度的一半,用于水平居中 */ + opacity: 0; /* 设置元素的不透明度。opacity 属性的值范围从 0 到 1|*/ + transition: opacity 0.3s; + /* 可以根据需要添加更多样式,如阴影、箭头等 */ + + } + + .c1:hover .c2 { + visibility: visible; + opacity: 1; /*不透明*/ + } +``` +html代码 +```html + +
昂,你来晚了哈 +
我是提示文字
+
+``` + +5. 素材 +```html + + + + + Document + + + +
+ +
+ +
+

广东深圳宝安区建安一路海雅缤纷城4楼

+
+ + +``` \ No newline at end of file -- Gitee From a46f504cfdee5a1833fa47a93dce062aa623e2b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=98=89=E7=8E=B2?= <14091858+softwork-wjl@user.noreply.gitee.com> Date: Wed, 23 Oct 2024 22:07:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?20241023=E5=B1=9E=E6=80=A7=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=99=A8=E4=BC=AA=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...50\344\274\252\345\205\203\347\264\240.md" | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 "\345\220\264\345\230\211\347\216\262/20241023\345\261\236\346\200\247\351\200\211\346\213\251\345\231\250\344\274\252\345\205\203\347\264\240.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241023\345\261\236\346\200\247\351\200\211\346\213\251\345\231\250\344\274\252\345\205\203\347\264\240.md" "b/\345\220\264\345\230\211\347\216\262/20241023\345\261\236\346\200\247\351\200\211\346\213\251\345\231\250\344\274\252\345\205\203\347\264\240.md" new file mode 100644 index 0000000..722f15e --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241023\345\261\236\346\200\247\351\200\211\346\213\251\345\231\250\344\274\252\345\205\203\347\264\240.md" @@ -0,0 +1,135 @@ +# 笔记 +**精灵图** +```css +background-position +``` + +## 属性选择器:[] + +属性选择器的标志性符号是 `[]` + +匹配含义: + +``` +^:开头 $:结尾 *:包含 +``` + +格式: + +- `E[title]` 选中页面的E元素,并且E存在 title 属性即可。 + +- `E[title="abc"]`选中页面的E元素,并且E需要带有title属性,且属性值**完全等于**abc。 + +- `E[attr~=val]` 选择具有 att 属性且属性值为:用空格分隔的字词列表,其中一个等于 val 的E元素。 + +- `E[attr|=val]` 表示要么是一个单独的属性值,要么这个属性值是以“-”分隔的。 + +- `E[title^="abc"]` 选中页面的E元素,并且E需要带有 title 属性,属性值以 abc 开头。 + +- `E[title$="abc"]` 选中页面的E元素,并且E需要带有 title 属性,属性值以 abc 结尾。 + +- `E[title*="abc"]` 选中页面的E元素,并且E需要带有 title 属性,属性值任意位置包含abc。 + + +## 结构伪类选择器 + +伪类选择器的标志性符号是 `:`。 + +CSS中有一些伪类选择器,比如`:link`、`:visited`、`:hover`、`:active`、`:focus`。 + +**1、格式:(第一部分)**(重要) + +- `E:first-child` 匹配父元素的第一个子元素E。 + +- `E:last-child` 匹配父元素的最后一个子元素E。 + +- `E:nth-child(n)` 匹配父元素的第n个子元素E。**注意**,盒子的编号是从`1`开始算起,不是从`0`开始算起。 + +- `E:nth-child(odd)` 匹配奇数 + +- `E:nth-child(even)` 匹配偶数 + +- `E:nth-last-child(n)` 匹配父元素的倒数第n个子元素E。 + +**2、格式:(第二部分)** + +- `E:first-of-type` 匹配同类型中的第一个同级兄弟元素E。 + +- `E:last-of-type` 匹配同类型中的最后一个同级兄弟元素E。 + +- `E:nth-of-type(n)` 匹配同类型中的第n个同级兄弟元素E。 + +- `E:nth-last-of-type(n)` 匹配同类型中的倒数第n个同级兄弟元素E + +**3、格式:(第三部分)** + +- `E:empty` 匹配没有任何子节点(包括空格等text节点)的元素E。 + +- `E:target` 匹配相关URL指向的E元素。要配合锚点使用。 + +### 伪元素选择器 + +伪元素选择器的标志性符号是 `::`。 + +**1、格式:(第一部分)** + +- `E::before` 设置在 元素E 前面(依据对象树的逻辑结构)的内容,配合content属性一起使用。 + +- `E::after` 设置在 元素E 后面(依据对象树的逻辑结构)的内容,配合content属性一起使用。 + +`E:after`、`E:before `在旧版本里是伪类,在 CSS3 这个新版本里是伪元素。新版本里,`E:after`、`E:before`会被自动识别为`E::after`、`E::before`,按伪元素来对待,这样做的目的是用来做兼容处理。 + +**2、格式:(第二部分)** + +- `E::first-letter` 设置元素 E 里面的**第一个字符**的样式。 + +- `E::first-line` 设置元素 E 里面的**第一行**的样式。 + +- `E::selection` 设置元素 E 里面被鼠标选中的区域的样式(一般设置颜色和背景色)。 + +# 作业 +```css + +``` + +html +```html + +
付款图标 +
存款图标 +
删除图标 +
粘贴图标 +
笑脸图标 +
编辑图标 + + +``` \ No newline at end of file -- Gitee From f15c28d839c16b98f041b26824874656705822a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=98=89=E7=8E=B2?= <14091858+softwork-wjl@user.noreply.gitee.com> Date: Sat, 26 Oct 2024 21:53:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?20241024=E5=8A=A8=E7=94=BB=E8=BF=87?= =?UTF-8?q?=E6=B8=A13D=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241024\345\212\250\347\224\273.md" | 576 ++++++++++++++++++ 1 file changed, 576 insertions(+) create mode 100644 "\345\220\264\345\230\211\347\216\262/20241024\345\212\250\347\224\273.md" diff --git "a/\345\220\264\345\230\211\347\216\262/20241024\345\212\250\347\224\273.md" "b/\345\220\264\345\230\211\347\216\262/20241024\345\212\250\347\224\273.md" new file mode 100644 index 0000000..1cda111 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241024\345\212\250\347\224\273.md" @@ -0,0 +1,576 @@ +# 笔记 + +## 属性详解 + +1. box-sizing:属性 + ++ text-shadow: 设置文本阴影 +**参数:水平方向,垂直方向,模糊程度,阴影颜色** + ++ 外加模式(默认):`box-sizing:content-box` + ++ 内减模式:`box-sizing:border-box` + +2. 边框: + ++ border - radius:50;---->圆 +**参数:水平半径,垂直半径** +`border-left-bottom-radius:50px,50px` + ++ 阴影属性:box-shadow: +**参数:水平方向,垂直方向,模糊程度,阴影大小,阴影颜色** + +## 动画详解 + +主要内容: ++ 过渡:transition + **属性:transition: 让哪些属性进行过度 过渡的持续时间 运动曲线 延迟时间;** + + - `transition-property: all;` 如果希望所有的属性都发生过渡,就使用all。 + + - `transition-duration: 1s;` 过渡的持续时间。 + + - `transition-timing-function: linear;` 运动曲线。属性值可以是: + - `linear` 线性 + - `ease` 减速 + - `ease-in` 加速 + - `ease-out` 减速 + - `ease-in-out` 先加速后减速 + + - `transition-delay: 1s;` 过渡延迟。多长时间后再执行这个过渡动画。 + ++ 2D 转换: transfrom: 缩放 移动 转换 + - 缩放: scale
+ `transform:scale(x,y)` 取值:大于1表示放大,小于1表示缩小。不能为百分比。 + - 位移: translate
+ `transfrom:translate(水平位移,垂直位移)` + - 旋转: rotale
+ `tranform:rotale(角度)` 参数解释:transfrom:正值:顺时针;负值:逆时针; + +```javascript + transform-origin: 水平坐标 垂直坐标; + + transform-origin: 50px 50px; + + transform-origin: center bottom; //旋转时,以盒子底部的中心为坐标原点 +``` + 案例:扑克牌 + +我们来看一下 rotate 结合 transform-origin 的用法举例。 + +代码如下: + +```html + + + + + + + + +
+ + + + + + + + + + + + + +
+ + +``` ++ 3D 转换: transfrom + 1. 旋转:rotateX、rotateY、rotateZ + **格式:** + +```javascript + transform: rotateX(360deg); //绕 X 轴旋转360度 + + transform: rotateY(360deg); //绕 Y 轴旋转360度 + + transform: rotateZ(360deg); //绕 Z 轴旋转360度 + +``` + + 2. 定义动画: + +``` +@keyframs 动画名{ + from{初始状态} + to{初始状态} +} +``` +调用:animation:动画名 持续时间 infinite ---->持续涌动 + + ++ 动画: animation + +`animation:动画名 间隔时间 step(2) infinite`---->step中2指的是分两步 + +# 作业 +1. 第一题 + +```html + + + + + Document + + + +
+
+
+ + +``` + +2. 第二题 + +```html + + + + + Document + + + +
遥遥领先
+ + +``` + +3. 火箭发射 + +```html + + + + + + Document + + + +
+
+
+ + +``` +4. 扑克牌 + +```html + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + +``` + +5. 广告翻转 + +```html + + + + + + + + +
+
+
+
+ + +``` + +6. 鲨鱼游动 + +```html + + + + + + + + +
+
+
+ + + + +``` + + -- Gitee