diff --git "a/\344\275\231\344\270\275/20241014-\344\274\252\347\261\273\347\254\224\350\256\260.md" "b/\344\275\231\344\270\275/20241014-\344\274\252\347\261\273\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..2ef520c6bd48c3ceec77bc81d30c87c560c5f850 --- /dev/null +++ "b/\344\275\231\344\270\275/20241014-\344\274\252\347\261\273\347\254\224\350\256\260.md" @@ -0,0 +1,134 @@ +# 伪类 +1.伪类:同一个标签,根据其不同的种状态,有不同的样式。这就叫做“伪类”。伪类用冒号来表示 + +2.伪类选择器分为两种:静态伪类选择器、动态伪类选择器 + +3.(1)静态伪类:只能用于超链接的样式。如下: + +* :link 超链接点击之前 +* :visited 链接被访问过之后(以上两种样式,只能用于超链接。) + +(2)动态伪类:针对所有标签都适用的样式。如下: + +* :hover “悬停”:鼠标放到标签上的时候 +* :active “激活”: 鼠标点击标签,但是不松手时。 +* :focus 是某个标签获得焦点时的样式(比如某个输入框获得焦点) + +## 超链接a标签 +1.a标签有4种伪类(即对应四种状态),要求背诵。如下: + +* :link “链接”:超链接点击之前 +* :visited “访问过的”:链接被访问过之后 +* :hover “悬停”:鼠标放到标签上的时候 +* :active “激活”: 鼠标点击标签,但是不松手时。 + +相应代码: +`````html + +````` + +2.在css中,这四种状态必须按照固定的顺序写: +``` +a:link 、a:visited 、a:hover 、a:active +``` +如果不按照顺序,那么将失效 + +3.a{}和a:link{}的区别: +* a{}定义的样式针对所有的超链接(包括锚点) +* a:link{}定义的样式针对所有写了href属性的超链接(不包括锚点) + +# 选择器练习 +```html +1.请写出CSS规则,使得.main类中的和元素中的所有和 +标签的字体变为粗体, 并且类中的 +标签的字体变为斜体 + +2.请写出CSS规则,使得所有带有required属性的元素在获得焦点时边框变为蓝色,并且所有带有placeholder属性的元素的占位符文本颜色为灰色。 + +3.请写出CSS规则,使得导航栏中当前激活的链接(class="active")的子元素在悬停时背景色变为深灰色,并且所有标签的子元素在悬停时字体颜色变为白色。 + +4.请写出CSS规则,使得带有class="special-title"的 +标签的第一个字母首字下沉,并且首字下沉的字母颜色为金色,背景色为透明。 + +5.请写出CSS规则,使得.list类中的每个 + +元素的第一个子元素 +的背景色为浅灰色,并且当鼠标悬停在 +元素上时,其所有子元素的字体颜色变为深蓝色。 + +6.请写出CSS规则,使得.container类中的 + +元素内的所有输入框在获得焦点时边框颜色变为绿色,并且所有标签在悬停时背景色变为浅蓝色 + +``` diff --git "a/\344\275\231\344\270\275/20241016-\346\240\267\345\274\217\350\241\250\347\273\247\346\211\277\346\200\247\302\267\345\222\214\345\261\202\345\217\240\346\200\247.md" "b/\344\275\231\344\270\275/20241016-\346\240\267\345\274\217\350\241\250\347\273\247\346\211\277\346\200\247\302\267\345\222\214\345\261\202\345\217\240\346\200\247.md" new file mode 100644 index 0000000000000000000000000000000000000000..169b0e565efeca44d8068962f753e83ca95891da --- /dev/null +++ "b/\344\275\231\344\270\275/20241016-\346\240\267\345\274\217\350\241\250\347\273\247\346\211\277\346\200\247\302\267\345\222\214\345\261\202\345\217\240\346\200\247.md" @@ -0,0 +1,181 @@ +# 继承性和层叠性 +### 层叠性 +1.层叠性:计算权重 + +层叠性:就是css处理冲突的能力 + +2.当多个选择器,选择上了某个元素的时候,要按照如下顺序统计权重: + +* id 选择器 +* 类选择器、属性选择器、伪类选择器 +* 标签选择器、伪元素选择器 + +3.因为对于相同方式的样式表,其选择器排序的优先级为:ID选择器 > 类选择器 > 标签选择器 + +语法: +````html +#box1 .hezi2 p{ + color:red +}(1个id选择器,1个类选择器,1个标签选择器,记作1,1,1) +```` + +4.如果大家的权重相同,那么就采用就近原则:谁描述的近,听谁的。举例如下:(box3 描述得最近,所以采用 box3 的属性) + +5.CSS样式表的冲突的总结 +* 1、对于相同的选择器(比如同样都是类选择器),其样式表排序:行级样式 > 内嵌样式表 > 外部样式表(就近原则) +* 2、对于相同类型的样式表(比如同样都是内部样式表),其选择器排序:ID选择器 > 类选择器 > 标签选择器 +* 3、外部样式表的ID选择器 > 内嵌样式表的标签选择器 +* 总结:就近原则。ID选择器优先级最大。 + +6.举例:如果都是内嵌样式表,优先级的顺序如下:(ID 选择器 > 类选择器 > 标签选择器) + +7.另外还有两个冲突的情况: +* 1、对同一个标签,如果用到的都是内嵌样式表,且权重一致,那它的优先级:定义的CSS样式表中,谁最近,就用谁。 +* 2、对于同一个标签,如果用到的都是外部样式表,且权重一致,那它的优先级:html文件中,引用样式表的位置越近,就用谁。 + +### 权重 +1.权重问题深入 +同一个标签,携带了多个类名,有冲突: +这里需要补充两种冲突的情况: +* 1、对同一个标签,如果用到了了多个相同的内嵌样式表,它的优先级:定义的样式表中,谁最近,就用谁。 + +* 2、对于同一个标签,如果引用了多个相同的外部样式表,它的优先级:html文件中,引用样式表的位置越近,就用谁。 + +# 练习 +```html +1. + 2. + 3. + 4. +5. + 6. + +7. + +``` +# 盒子模型 +```html +1. + 2. + 3. + 4. +``` \ No newline at end of file diff --git "a/\344\275\231\344\270\275/20241017-\346\265\256\345\212\250\347\254\224\350\256\260.md" "b/\344\275\231\344\270\275/20241017-\346\265\256\345\212\250\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..7064f8d907414c1eda8c93e8720827223c30d77d --- /dev/null +++ "b/\344\275\231\344\270\275/20241017-\346\265\256\345\212\250\347\254\224\350\256\260.md" @@ -0,0 +1,202 @@ +# 浮动 +1.空白折叠现象: + +无论多少个空格、换行、tab,都会折叠为一个空格。 + +比如,如果我们想让img标签之间没有空隙,必须紧密连接: +````html + +```` +2.行内元素和块级元素的区别:(非常重要) + +* 行内元素: + + 与其他行内元素并排; + 不能设置宽、高。默认的宽度,就是文字的宽度。 +* 块级元素: + + 霸占一行,不能与其他任何元素并列; + 能接受宽、高。如果不设置宽度,那么宽度将默认变为父亲的100%。 + +3.行内元素和块级元素的分类: + +在以前的HTML知识中,我们已经将标签分过类,当时分为了:文本级、容器级。 + +4.从HTML的角度来讲,标签分为: + +* 文本级标签:p、span、a、b、i、u、em。 +* 容器级标签:div、h系列、li、dt、dd。 + +5.从CSS的角度讲,CSS的分类和上面的很像,就p不一样: + +* 行内元素:除了p之外,所有的文本级标签,都是行内元素。p是个文本级,但是是个块级元素。 + +* 块级元素:所有的容器级标签都是块级元素,还有p标签。 + +### 块级元素可以转换为行内元素:display: inline; + +6.这个标签将立即变为行内元素,此时它和一个span无异。inline就是“行内”。也就是说: + +* 此时这个div不能设置宽度、高度; +* 此时这个div可以和别人并排了。 + +### 行内元素转换为块级元素:display: block; + +7.这个标签将立即变为块级元素,此时它和一个div无异。block”是“块”的意思。也就是说: + +* 此时这个span能够设置宽度、高度 +* 此时这个span必须霸占一行了,别人无法和他并排 +* 如果不设置宽度,将撑满父亲 + +## 浮动的性质 +### 性质1:浮动的元素脱标 +一旦一个元素浮动了,那么,将能够并排了,并且能够设置宽高了。无论它原来是个div还是个span。**所有标签,浮动之后,已经不区分行内、块级了。 +### 性质2:浮动的元素互相贴靠 +给三个div均设置了float: left;属性之后,然后设置宽高 +### 性质3:浮动的元素有“字围”效果 +让div浮动,p不浮动 + +div挡住了p,但不会挡住p中的文字,形成“字围”效果。 +### 性质4:收缩 +收缩:一个浮动的元素,如果没有设置width,那么将自动收缩为内容的宽度(这点非常像行内元素) + +div本身是块级元素,如果不设置width,它会单独霸占整行;但是,设置div浮动后,它会收缩 + +### 总结: +如果一个元素要浮动,那么它的祖先元素一定要有高度。 + +有高度的盒子,才能关住浮动 + +只要浮动在一个有高度的盒子中,那么这个浮动就不会影响后面的浮动元素。所以就是清除浮动带来的影响了 + +### 方法2:clear:both +clear就是清除,both指的是左浮动、右浮动都要清除。clear:both的意思就是:不允许左侧和右侧有浮动对象。 + +### 方法3:隔墙法 +可以在这两个div中间用一个新的div隔开,然后给这个新的div设置clear: both;属性;同时,既然这个新的div无法设置margin属性,我们可以给它设置height,以达到margin的效果(曲线救国) + +### 内墙法 +与外墙法相比,内墙法的优势(本质区别)在于:内墙法可以给它所在的家撑出宽度(让box1有高)。即:box1的高度可以自适应内容。 + +而外墙法,虽然一道墙可以把两个div隔开,但是这两个div没有高,也就是说,无法wrap_content。 + +### 清除浮动方法4:overflow:hidden +overflow即“溢出”, hidden即“隐藏”。这个属性的意思是“溢出隐藏”。顾名思义:所有溢出边框的内容,都要隐藏掉 + +# 作业 +```html +第一题: + +
+ +
+ +
logo
+ +
+
语言选择
+
导航条
+
+
+ + +
+ +
大广告
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ + +
+``` + +# 第二题: +```html +
+
+
+

| 通知公告

更多 >>> +
+
+ +
+ + + +css: + *{ + margin: 0px; + padding: 0px; +} +.box{ + width: 800px; + height: 600px; +} +.top{ + width: 760px; + margin: 10px; + border-top: 1px dashed #DFDFDF; + +} +p{ + color: #223079; + font-weight: bolder; + font-size: 24px; + display: inline-block; +} +.b1{ + width: 760px; + height: 20px; + background-color: #F9F9F9; + margin-top: 5px; +} +.top a{ + float: right; + margin-top: 10px; + color:#274A75; +} +a{ + text-decoration: none; +} +.xian{ + width: 800px; + height: 3px; + background-image: linear-gradient(to right,#0C2B5B,red); + margin-top: 5px; +} +.bottom{ + width: 800px; +} +.bottom li{ + border-bottom: 1px dashed blue; + background: url(https://img.tukuppt.com/png_preview/00/19/56/qbuHbswXLs.jpg!/fw/780) no-repeat 4px; + background-size: 12px 12px; + padding: 5px; + padding-left: 25px; + margin: 10px; +} +span{ + float: right; +} +```