先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
正文
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
border: 1px red solid;
text-align: center;
line-height: 100px;
}
/*后代选择器*/
p span{
border: 3px black solid;
text-align: center;
line-height: 100px;
}
/*span{ //与后代选择器作用相同
border: 3px black solid;
text-align: center;
line-height: 100px;
}*/
</style>
</head>
<body>
<p>段落标签
<span>spanspan</span>
</p>
</body>
</html>
3)子选择器
描述的是某个元素的子元素,在两个选择器之间用">"来连接。
语法:元素 1 > 元素 2 {样式声明 }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
border: 2px gold solid;
height: 100px;
width: 100px;
text-align: center;
line-height: 100px;
}
/* 子元素选择器 */
p>span{
border:3px black solid;
height:100px;
width:100px;
text-align:center;
line-height: 100px;
}
</style>
</head>
<body>
<p >段落标签1
<span>spanspan</span>
</p>
</body>
</html>
4)兄弟选择器
兄弟选择器主要包括两类:相邻兄弟选择器和普通兄弟选择器
Ⅰ、相邻兄弟选择器
当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父元素的子元素,则第二个元素将被选中。
语法:选择器1+选择器2{样式声明 }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
li:first-of-type + li {
color: red;
}
</style>
</head>
<body>
<ul>
<li>One</li>
<li>Two!</li>
<li>Three</li>
</ul>
</body>
</html>
Ⅱ、普通兄弟选择器
兄弟选择符,位置无须紧邻,只须同层级,A~B 选择A元素之后所有同层级B元素
语法:选择器1~选择器2{样式声明 }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p ~ span {
color: red;
}
</style>
</head>
<body>
<span>span11</span>
<p>pppp</p>
<span>span22</span>
<p>pppp</p>
<span>span33</span>
</body>
</html>
4、css其他选择器
1)、根据属性名称选择元素
根据元素的属性名称及属性值来选择元素
语法: [attribute]{样式声明}(将具有"attribute"属性的元素作为选择器的选的对象)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
[class]{
font-size: 20px;
}
/* 属性名称也可以和标签结合起来用 */
span[class]{
font-size: 10px;
color: red;
}
</style>
</head>
<body>
<p>根据属性名称选择元素11</p>
<p>根据属性名称选择元素22</p>
<p class="class">根据属性名称选择元素33</p>
<span class="class">根据属性名称选择元素44</span>
</body>
</html>
2)根据属性值来选择元素
Ⅰ、简单匹配元素
语法:[attribute=value] (表示匹配某个属性为value的元素)
如:[class=one]{font-size:15px}
Ⅱ、通过通配符匹配
我们先来看看个个通配符的含义(我只列出来部分常用的通配符)
字符 | 说明 | 字符 | 说明 |
[] | 用来匹配所包含字符集合中的任意一个字符匹配方括号中的任意字符,包括转义序列。你可以使用破折号(-)来指定一个字符范围。对于点(.)和星号(*)这样的特殊符号在一个字符集中没有特殊的意义。他们不必进行转义,不过转义也是起作用的。 例如,[abcd] 和 [a-d] 是一样的。他们都匹配"brisket"中的‘b’,也都匹配“city”中的‘c’。 | x | y |
. | 匹配除换行符以外的任意一个字符 例如,/.n/ 将会匹配 “nay, an apple is on the tree” 中 的 ‘an’ 和 ‘on’,但是不会匹配 ‘nay’。 | [\b] | 匹配一个退格 (U+0008)。(不要和\b混淆了。) |
\w | 匹配任意—个字母或数字或下划线,等价于[O-9a-zA-Z] | \B | 匹配一个非单词边界。匹配如下几种情况: 字符串第一个字符为非“字”字符 字符串最后一个字符为非“字”字符 两个单词字符之间 两个非单词字符之间 空字符串 |
\W | 匹配除了字母或数字或下划线或汉字以外的任意一个字 符,等价于[AO-9a-ZA-Z] | \r | 回车符 |
\s | 匹配任意一个空白符,等价于[Hfnritlv] | \v | 垂直制表符 |
\S | 配任意—个空白字符,等价于[^Ifnlritiv] | * | 重复0次或更多次。 例如,/bo*/ 会匹配 “A ghost boooooed” 中的 ‘booooo’ 和 “A bird warbled” 中的 ‘b’,但是在 “A goat grunted” 中不会匹配任何内容。 |
\d | 匹配一个数字字符,等价于[O-9]或[0123456789] | + | 重复一次或更多次 |
\D | 匹配一个非数字字符,等价于[AO-9]或[^0123456789] | ? | 重复0次或1次,等价于 {0,1}。 |
\b | 匹配单词的开始或结束 | {n} | 重复n次 |
^ | 匹配字符串的开始。 例如,/^A/ 并不会匹配 “an A” 中的 ‘A’,但是会匹配 “An E” 中的 ‘A’。 | {n,} | 重复n次或更多次。 例如,/a{2,}/ 匹配 “aa”, “aaaa” 和 “aaaaa” 但是不匹配 “a”。 |
$ | 匹配字符串的结束 例如,/t$/ 并不会匹配 “eater” 中的 ‘t’,但是会匹配 “eat” 中的 ‘t’。 | {n,m} | 重复n到m次 |
5、css伪类
伪类是添加到选择器的关键字,用于指定所选元素的特殊状态。伪类主要分成为两种:状态伪类和结构性伪类
1)状态伪类
Ⅰ、锚伪类
锚伪类是与超级链接有关的伪类。
link:为被访问过的状态
hover:鼠标悬停状态
active:活动状态
visited:已被访问过的状态,与link互斥
需要注意的是:hover必须置于link和visited之后才有效,active必须置于hover之后才有效
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a:link{
color: red;
}
a:hover{
color: black;
}
a:active{
color: aqua;
}
</style>
</head>
<body>
<a href="###">空链接</a>
</body>
</html>
未被访问:
鼠标悬停:
活动状态:
Ⅱ、focus伪类
focus 伪类应用于拥有键盘输入焦点的元素,比较常见的是表单中的一些控件,例如这样的文本输入控件,用户向这个控件中输入数据之前,要使该控件获得焦点,可以通过伪类对获得焦点这一状态下的元素设置样式。
2)结构性伪类
元素名 | 描述 |
:first-child | 匹配父元素的第一个子元素 |
: last-child | 匹配父元素的最后一个子元素 |
: only-child | 匹配父元素有且只有一个子元素 |
: only-of-type | 匹配父元素有且只有一个指定类型的元素 |
: nth-child (n) | 匹配父元素的第n个子元素 |
: nth-last-child (n) | 匹配父元素的倒数第n个子元素 |
:nth-of-type (n | 匹配父元素定义类型的第n个子元素> |
: nth-last-of-type(n) | 匹配父元素定义类型的倒数第n个子元素 |
: first-of-type | 匹配一个上级元素的第一个同类子元素 |
: last-of-type | 匹配一个上级元素的最后一个同类子元素 |
使用号结构性伪类可以减少class和ID属性的定义,使文档结构更简洁,代码更有观赏性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul li:nth-child(2n){
color: red;
}
</style>
</head>
<body>
<ul>
<li>1111</li>
<li>2222</li>
<li>3333</li>
<li>4444</li>
<li>5555</li>
<li>6666</li>
</ul>
</body>
</html>
6、css伪元素
伪元素是一个附加至选择器末的关键词,允许你对被选择元素的特定部分修改样式。
常见伪元素选择器有:
:first-letter (选择元素文本的第一个字或者字符)
:first-line (选择元素文本的第一行)
:before (在元素内容的最前面添加新元素)
:after (在元素内容的最后面添加新元素)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul li:nth-child(2n){
color: red;
}
/*在第一个li的第一个字符添加新的样式*/
li:first-child:first-letter{
font-size: 25px;
color: green;
}
</style>
</head>
<body>
<ul>
<li>1111</li>
<li>2222</li>
<li>3333</li>
<li>4444</li>
<li>5555</li>
<li>6666</li>
</ul>
</body>
</html>
7、css两大特性
1)继承性
文档的上下文关系,在HTML结构中大多使通过嵌套来表现的,继承性就是基于这种嵌套关系的子元素对于父元素样式的继承。继承性的特点主要包括两方面:
1、子元素继承父元素部分的css样式风格
2、子元素可以产生新的css样式,不会影响父元素
但是并不是所以的css属性都会被继承,父元素的以下属性不会被子元素所继承
·边框属性
·外边距属性、内边距属性
·背景属性
·定位属性、布局属性
·元素的宽、高属性
2)层叠性
样式表层叠——简单的说,就是 CSS 规则的顺序很重要;当应用两条同级别的规则到一个元素的时候,写在后面的就是实际使用的规则。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
color: red;
}
/*p样式重叠就会使用下面这样式*/
p{
color: black;
}
</style>
</head>
<body>
<p>1111</p>
<p>2222</p>
<p>3333</p>
</body>
</html>
8、选择器的优先级
继承样式 | 通配符选择器 | 标签选择器 | 类选择器 | ID选择器 | 内联样式 | !important |
无 | 0 | 1 | 10 | 100 | 1000 | 10000+ |
说明:
- 继承的样式没有权值
- 通配符、子选择器、相邻选择器等。如
* > +
,权值为0000
。- 类型选择器、伪元素选择器,如div p,权值为
0001
。- 类,伪类、属性选择器,如.class,权值为
0010
。- ID选择器,如:#class,权值为
0100
。- 内联样式,如: style=“…”,权值为
1000
。- !important 的作用是提升优先级,换句话说。加了这句的样式的优先级是最高的(比内联样式的优先级还高)。
比较规则:
一、 1,0,0,0 > 0,99,99,99。也就是说从左往右逐个等级比较,前一等级相等才往后比。
**二、**无论是行间、内部和外部样式,都是按照这个规则来进行比较。而不是直观的行间>内部>外部样式;ID>class>元素。之所以有这样的错觉,是因为确实行间为第一等的权重,所以它的权重是最高的。而内部样式可能一般写在了外部样式引用了之后,所以覆盖掉了之前的。
**三、**在权重相同的情况下,后面的样式会覆盖掉前面的样式。
**四、**通配符、子选择器、相邻选择器等的。虽然权值为0000,但是也比继承的样式优先,0 权值比无权值优先。
看到这里了点个赞吧!!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
9,99。也就是说从左往右逐个等级比较,前一等级相等才往后比。
**二、**无论是行间、内部和外部样式,都是按照这个规则来进行比较。而不是直观的行间>内部>外部样式;ID>class>元素。之所以有这样的错觉,是因为确实行间为第一等的权重,所以它的权重是最高的。而内部样式可能一般写在了外部样式引用了之后,所以覆盖掉了之前的。
**三、**在权重相同的情况下,后面的样式会覆盖掉前面的样式。
**四、**通配符、子选择器、相邻选择器等的。虽然权值为0000,但是也比继承的样式优先,0 权值比无权值优先。
看到这里了点个赞吧!!!!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
[外链图片转存中…(img-ZW9o7NkZ-1713277574432)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!