From 9f217b489b9a41a69afe3474d15135a0c26517b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=9B=A6?= <2196258247@qq.com> Date: Sun, 20 Oct 2024 20:01:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?20041014=E7=AC=AC=E5=8D=81=E4=B8=89?= =?UTF-8?q?=E6=AC=A1=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241014 -css\344\274\252\347\261\273.md" | 500 ++++++++++++++++++ 1 file changed, 500 insertions(+) create mode 100644 "\345\210\230\346\233\246/20241014 -css\344\274\252\347\261\273.md" diff --git "a/\345\210\230\346\233\246/20241014 -css\344\274\252\347\261\273.md" "b/\345\210\230\346\233\246/20241014 -css\344\274\252\347\261\273.md" new file mode 100644 index 0000000..73915f1 --- /dev/null +++ "b/\345\210\230\346\233\246/20241014 -css\344\274\252\347\261\273.md" @@ -0,0 +1,500 @@ +## css伪类 +### 常见的伪类用法 +**常见的CSS伪类及其用法:** + +- `​:hover​`:当鼠标悬停在元素上时应用样式。 +​- `:active​`:当元素处于活动(点击)状态时应用样式。 +​- `:focus​`:当元素获得焦点时应用样式,通常用于表单元素。 +​- `:visited​`:选择已访问的链接。 +​- `:first-child`​:选择第一个子元素。 +​- `:last-child`​:选择最后一个子元素。 +​- `:nth-child(n)`​:选择第n个子元素。 +- ​`:nth-of-type(n)`​:选择同类型的第n个元素。 +​- `:not(selector)`​:选择不匹配给定选择器的元素。 + +### CSS伪类示例 +**hover 示例:** +```css +.button:hover { + background-color: #ff0000; + color: #ffffff; +} +``` +当鼠标悬停在按钮上时,背景颜色变为红色,文本颜色变为白色。 + +**focus 示例:** +```css +.input-field:focus { + border-color: #00ff00; + box-shadow: 0 0 5px #00ff00; +} +``` +当输入框获得焦点时,边框颜色变为绿色,添加一个淡淡的绿色阴影效果。 + +**nth-child 示例:** +```css +ul li:nth-child(odd) { + background-color: #f0f0f0; +} +``` +选择​ul​元素下的奇数项,并将它们的背景颜色设置为淡灰色。 + +**visited 示例:** +```css +a:visited { + color: #888888; +} +``` +选择已访问的链接,并将其文本颜色设置为浅灰色。 + +## 选择器序列练习 +```html + + + + + + Document + + + + +
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + +
+ +
+ + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + + +
+ +
+ + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + + + + +
+ +
+ + + + + + + + + +
+ + +``` -- Gitee From 2d9e92b0f94185a885607399db7f2ff02a932bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=9B=A6?= <2196258247@qq.com> Date: Sun, 20 Oct 2024 20:02:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?20241016=E7=AC=AC=E5=8D=81=E5=9B=9B?= =?UTF-8?q?=E6=AC=A1=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...41\345\236\213\350\257\246\350\247\243.md" | 393 ++++++++++++++++++ 1 file changed, 393 insertions(+) create mode 100644 "\345\210\230\346\233\246/20241016 -css\346\240\267\345\274\217\350\241\250\347\232\204\347\273\247\346\211\277\346\200\247\345\222\214\345\261\202\345\217\240\346\200\247+\347\233\222\346\250\241\345\236\213\350\257\246\350\247\243.md" diff --git "a/\345\210\230\346\233\246/20241016 -css\346\240\267\345\274\217\350\241\250\347\232\204\347\273\247\346\211\277\346\200\247\345\222\214\345\261\202\345\217\240\346\200\247+\347\233\222\346\250\241\345\236\213\350\257\246\350\247\243.md" "b/\345\210\230\346\233\246/20241016 -css\346\240\267\345\274\217\350\241\250\347\232\204\347\273\247\346\211\277\346\200\247\345\222\214\345\261\202\345\217\240\346\200\247+\347\233\222\346\250\241\345\236\213\350\257\246\350\247\243.md" new file mode 100644 index 0000000..88bc378 --- /dev/null +++ "b/\345\210\230\346\233\246/20241016 -css\346\240\267\345\274\217\350\241\250\347\232\204\347\273\247\346\211\277\346\200\247\345\222\214\345\261\202\345\217\240\346\200\247+\347\233\222\346\250\241\345\236\213\350\257\246\350\247\243.md" @@ -0,0 +1,393 @@ +## css的继承性和层叠性 +### 继承性 + 继承指的是继承父类标签的属性样式. + +  可以继承的属性有: + +  color tex-xxx font-xxx line-xxx (中间带 - 的) + + 注意: + +  盒模型的属性(浮动、绝对定位、固定定位)是不能继承下来的 + +   `` 标签有特殊情况, 设置a标签的颜色 大小一定要选中a, 千万不能用继承,继承不管用. + +```css + +``` + +### 层叠性 +对同一标签元素设置的时候, + +覆盖: 谁的权重大, 就会按照谁的设置显示样式,如颜色 大小等. + +(1)行内> id > class > 标签 + +     1000 > 100 > 10 > 1 + +(2)数数 数 id class 标签 (必须按照顺序数) + +(3)先选中标签,权重一样,看代码顺序, 以后设置为主 + +(3)继承来的属性 它的权重为0 ,与选中的标签没有可比性 + +(4)如果都是继承来的属性,保证就近原则 + +(5)都是继承来的属性,选择的标签一样近,再去数权重, 权重一样的,看代码顺序,以后设置的为主. + +- 数选择器,看权重 +- 权重一样的看代码顺序 +- 继承来的属性权重为0, 选中标签属性 > 继承来的 +- 都是继承来的,看就近,就近一致看权重,权重一致看代码顺序 + +### 权重一样的看代码 +```css + +``` + +### 继承来的属性权重为0, 选中标签属性 > 继承来的 +```css + +``` + +### 都是继承来的,看就近,就近一致看权重,权重一致看代码顺序 +```css + +``` + +### !important 的使用 + +  !important:设置权重为无限大(IE6不支持)。 + +  !important 不影响继承来的权重,只影响选中的元素。不要随便使用!important,因为使用它会影响页面的布局。 + +  示例:选择器{样式:值!important;} + +## 盒模 +### 盒模型示意图 +![alt text](image10.16.png) +### 盒模型属性 + (1)width:内容的宽度 + +  (2)height:内容的高度 + +  (3)padding:内边距,边框到内容的距离 + +  (4)border:边框,就是指盒子的宽度 + +  (5)margin:外边距,盒子边框到附近最近盒子的距离,兄弟之间的距离 + +```html + + + Document + + + + +
+ + +``` +### 盒模型的计算 + + 如果一个盒子设置了width,height,padding,border,margin(咱们先不要设置margin,margin有坑,后面会介绍)。 + +  盒子的真实宽度 = width+2*padding+2*border + +  盒子的真实宽度 = height+2*padding+2*border + + 总结: 如果保证盒模型的大小不变,加padding 就一定要减width或者减height + + 前提是:在标准文档流中 + +    padding:父子之间调整位置 + +    margin: 兄弟之间调整位置 + +### padding(内边距) + + 内边距, 就是边框到内容之间的距离. + +  另外padding的区域是有颜色的,并且背景颜色和内容的颜色一样。也就是说background-color这个属性将填充所有的border以内的区域. + +  注意: margin外边距也遵循这个原则. + +```css +后面跟的参数的个数不同代表的含义不同, 也可以通过具体的位置来确定内边距的值. + +   +``` +### border(边框) +  三要素: 宽度 样式 颜色 + +  如果颜色不写,默认是黑色。 + +  如果粗细不写,默认不显示边框。 + +  如果只写线性样式,默认的有上下左右 3px的宽度,实体样式,并且黑色的边框。 + +  示例:border三要素可以分开设置,也可以综合设置 + +```css + +``` +  border:none; + +  border:0; + +  表示border没有设置样式。 + +  border : transparent; 透明的 + +示例1:boeder制作小三角 + +```css + + +制作小三角 +``` + +示例2:border制作圆 + +```css + + +制作圆 +``` + +### margin(外边距) + +1. margin:外边距的意思,表示边框到最近盒子的距离。也有四个方向,并且可以设置1、2、3、4个值。 + +```css + +``` + +2. margin的塌陷问题(垂直方向的坑) + +  margin指兄弟标签之间的距离,因此使用的前提是必须在标准文档流下, + +  然而在标准文档流下给兄弟盒子都设置margin时: + +    (1)水平方向:不会出现任何问题,两者会相加显示 + +    (2)垂直方向:会出现"塌陷问题",那么以较大的为准,那么我们称这种现象为塌陷。记住这种现象,在布局垂直方向盒子的时候要注意margin的用法。水平方向上没有塌陷现象。 + +  当我们给两个标准流下的兄弟盒子设置浮动之后,脱离了文档的标准流,不占据页面位置,不再遵循那些规则,就不会出现margin塌陷的问题。 + +  因此以后在设置垂直方向上兄弟之间的距离时,只给其中的一个设置margin-top,或者margin-bottom即可。 + + + +3. 父子盒子方向的坑 + +  在标准文档流中,子盒子设置margin-top,父盒子没有设置border的话,也会跟着往下走。 + +```css + +``` +总结:margin是描述兄弟之间的关系,而padding描述的是父子盒子之间的关系,要先让子盒子在父盒子中的位置发生变化,需要设置父盒子的padding,使内容区域发生变化。 + +4. margin:0 auto; + + 注意: + +    (1)使用margin: 0 auto;时,水平居中盒子必须有width,要有明确width值; + +    (2)如果给盒子设置浮动、或者固定定位、或者绝对定位,那么margin: 0 auto;失效; + +    (3) margin:0 auto;使盒子居中,而不是居中文本,文字水平居中使用text-align: center; + +### 清除默认样式 + +  有一些标签会默认自带样式,比如有些会自带padding、margin等, + +  ul标签会默认的有padding-left需要清除, + +  a标签会默认有下划线, + +  input标签会默认有border和outline, + +```css +*{ + padding:0; + margin:0; +} +``` + +或者并集选择器清除样式 + -- Gitee From c6b139867dbad42847824eeefa2fe8678aed52c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=9B=A6?= <2196258247@qq.com> Date: Sun, 20 Oct 2024 20:09:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?20241017=E7=AC=AC=E5=8D=81=E4=BA=94?= =?UTF-8?q?=E6=AC=A1=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241017 -css\346\265\256\345\212\250.md" | 299 ++++++++++++++++++ "\345\210\230\346\233\246/img/image10.16.png" | Bin 0 -> 8946 bytes 2 files changed, 299 insertions(+) create mode 100644 "\345\210\230\346\233\246/20241017 -css\346\265\256\345\212\250.md" create mode 100644 "\345\210\230\346\233\246/img/image10.16.png" diff --git "a/\345\210\230\346\233\246/20241017 -css\346\265\256\345\212\250.md" "b/\345\210\230\346\233\246/20241017 -css\346\265\256\345\212\250.md" new file mode 100644 index 0000000..e41b8b7 --- /dev/null +++ "b/\345\210\230\346\233\246/20241017 -css\346\265\256\345\212\250.md" @@ -0,0 +1,299 @@ +## CSS浮动(Float) + +在CSS中,浮动(float)是一种非常重要的布局技术。它允许元素脱离正常的文档流,并且可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边缘为止。这种行为使得其他元素围绕浮动元素重新排列,常用于图像或布局中的元素。 + +### 浮动的工作原理 + +当你对一个元素应用浮动时,这个元素会被移出正常的文档流,然后根据浮动的方向(左或右)移动。浮动元素的行为特点是: + +- 向左或向右移动:浮动元素会尽量向指定的方向移动。 + +- 其他元素的重新排列:浮动元素之后的元素将围绕它排列,而之前的元素不会受到影响。 + +- 不影响之前的元素:浮动元素不会影响之前的元素,只影响之后的元素。 + +### CSS中的浮动属性 + +CSS中的float属性用于指定元素的浮动方向。 + +它有以下几个值: + +- `left`:元素向左浮动。 + +- `right`:元素向右浮动。 + +- `none`:元素不浮动,保持在正常的文档流中。 + +此外,还有clear属性,它用于清除浮动,指定元素两侧不能出现浮动元素。 + +clear属性的值包括: + +- `left`:不允许左边有浮动元素。 + +- `right`:不允许右边有浮动元素。 + +- `both`:两边都不允许有浮动元素。 + +- `none`:允许两边都可以有浮动对象。 + +### 示例 + +以下是一些浮动的基本示例: + +```css + +/* 左浮动 */ +left-float { +float: left; +} + +/* 右浮动 */ +right-float { +float: right; +} + +/* 清除浮动 */ +clear-float { +clear: both; +} + +``` + +在HTML中使用时,可以这样写: + +```html +
我是左浮动的元素
+
我是右浮动的元素
+
我清除了浮动
+``` + +### 注意事项 + +使用浮动时,需要注意以下几点: + +- 浮动元素的父元素:浮动元素至少要与其最高的嵌套浮动子元素一样高。 + +- 清除浮动:有时候,你可能需要强制元素移至任何浮动元素下方,这时可以使用clear属性。 + +- 浮动元素的堆叠:如果有多个浮动元素,它们会尽可能地彼此相邻排列,直到没有足够的空间为止。 + +浮动是CSS布局中的一个强大工具,但也需要谨慎使用,以避免布局上的混乱。理解浮动的工作原理和如何清除浮动,对于创建整洁、响应式的网页布局至关重要。 + +## 作业 +### 浮动练习1 +```html + + + + + + Document + + + +
+ +
语言选择
+ +
+ +
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + + + + + +``` +### 浮动练习2 +```html + + + + + + Document + + + +
+ + | 通知公告 + 更多>> + +
+
+ +
+ + +``` diff --git "a/\345\210\230\346\233\246/img/image10.16.png" "b/\345\210\230\346\233\246/img/image10.16.png" new file mode 100644 index 0000000000000000000000000000000000000000..efdb273ab992b4289eaf7eefc219f3bf4b49a12c GIT binary patch literal 8946 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 X?BNR%LB0ok%L3EYG}I_pv%T?Ou1AU8 literal 0 HcmV?d00001 -- Gitee