background: #3cbda6;
border-radius: 5px;
}
p {
font-size: 50px;
}
学Java
学Java
看视频课
其中:
- border-radius: 圆角边框
- border-radius:2em;等价于
_border-top-left-radius:2em;
border-top-right-radius:2em;
border-bottom-right-radius:2em;
border-bottom-left-radius:2em;_
- border-radius: 2em 1em 4em / 0.5em 3em;等价于
_border-top-left-radius: 2em 0.5em;
border-top-right-radius: 1em 3em;
border-bottom-right-radius: 4em 0.5em;
border-bottom-left-radius: 1em 3em;_
2.1.2类选择器
引例:
给三个一级标题设置不同颜色
如果用标签选择器,显然是不行的
标题1
标题2
标题3
这时候,就需要类选择器出场了:
标题1
标题2
标题3
用<h1 class:“XXX”>设置类名称,在style中设置样式时,用”.类名"的方式单独设置某一个class属性的颜色,即类选择器选择所有class属性一致的标签设置样式,且可跨标签使用。
解释跨标签使用:
在上述类选择器代码中:
标题1
标题2
标题3
h1标签和p标签共用一个class属性是可以的。
用法简要归纳:
标题1
标题2
标题3
优势:
- 可以多个标签归类(设置同一个class)
2.1.3ID选择器
顾名思义:
标题1
标题2
标题3
用法简要归纳:
标题1
标题2
标题3
注意:
id必须保证全局唯一!不可复用!
- 不遵循就近原则,优先级为:id选择器>class选择器>标签选择器
2.2层次选择器
2.2.1后代选择器
在某个元素的后面
例:
p1
p2
p3
p4
p5
p6
其中,
body p{}
指设置"body"后的所有p标签。2.2.2子选择器
只设置一代
只有"body"后的第一代p标签才被有效设置。
2.2.3相邻兄弟选择器
顾名思义,同辈
Title p0
p1
p2
p3
p4
p5
p6
p7
p8
其中"p2"是"p1"的相邻兄弟(向下顺延),“p8"是"p7"的相邻兄弟(向下顺延),所以"p2”、"p8"被有效设置,"p0"因其为"p1"的向上相邻而非向下,故不被有效设置。
2.2.4通用选择器
即,相对于相邻兄弟选择器,多了其本身。
2.3伪类选择器
伪类选择器(简称:伪类)通过冒号来定义,它定义了元素的状态,如点击按下,点击完成等,通过伪类可以为元素的状态修改样式。
伪类选择器主要可以分为:动态伪类选择器、UI元素状态伪类选择器、结构伪类选择器、否定伪类选择器。
2.3.1动态伪类选择器
| 语法 | 解释 |
| — | — |
| E:link | 选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上 |
| E:visited | 选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上 |
| E:active | 选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上 |
| E:hover | 选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover |
| E:focus | 选择匹配的E元素,而且匹配元素获取焦点 |
a标签有4种伪类(即对应四种状态),如下:
-
:link “链接”:超链接点击之前
-
:visited “访问过的”:链接被访问过之后
-
:hover “悬停”:鼠标放到标签上的时候
-
:active “激活”: 鼠标点击标签,但是不松手时。
例:
/让超链接点击之前是红色/
a:link {color: red;}
/让超链接点击之后是橙色/
a:visited {color: orange;}
/鼠标悬停,放到标签上的时候是绿色/
a:hover {color: green;}
/鼠标点击链接,但是不松手的时候/
a:active {color: black;}
在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的,a:active 必须被置于 a:hover 之后,才是有效的。所以,a标签的这四种伪类选择器的顺序为:a:link ,a:visited,a:hover ,a:active
2.3.2UI元素状态伪类选择器
| 语法 | 解释 |
| — | — |
| E:checked | 匹配选中的复选按钮或者单选按钮表单元素 |
| E:enabled | 匹配所有启用的表单元素 |
| E:disabled | 匹配所有禁用的表单元素 |
UI元素状态伪类选择器主要是针对于HTML中的Form元素进行操作,最常见的比如我们"type="text"有enable和disabled两种状态,前者为可写状态后者为不可状态;另外"type="radio"和"type=“checkbox”"有"checked"和"unchecked"两种状态。来看两个实例,比如说你想将"disabled"的文本框与别的文本框区别出来,你就可以这样应用:
input[type=“text”]:disabled {border:1px solid #999;background-color: #fefefe;}
注意:IE6-8不支持":checked",“:enabled”,":disabled"这三种选择器。
2.3.3结构伪类选择器
| 语法 | 解释 |
| — | — |
| E:fisrt-child | 作为父元素的第一个子元素的元素E。与E:nth-child(1)等同 |
| E:last-child | 作为父元素的最后一个子元素的元素E。与E:nth-last-child(1)等同 |
| E:root | 选择匹配元素E所在文档的根元素。在HTML文档中,根元素始终是html,此时该选择器与html类型选择器匹配的内容相同 |
| E F:nth-child(n) | 选择父元素E的第n个子元素F。其中n可以是整数(1,2,3)、关键字(even,odd)、可以是公式(2n+1),而且n值起始值为1,而不是0 |
| E F:nth-last-child(n) | 选择父元素E的倒数第n个子元素F。此选择器与E:nth-child(n)选择器计算顺序刚好相反,但使用方法都是一样的,其中:nth-last-child(1)始终匹配最后一个元素,与last-child等同 |
| E:nth-of-type(n) | 选择父元素内具有指定类型的第n个E元素 |
| E:nth-last-of-type(n) | 选择父元素内具有指定类型的倒数第n个E元素 |
| E:first-of-type | 选择父元素内具有指定类型的第一个E元素,与E:nth-of-type(1)等同 |
| E:last-of-tye | 选择父元素内具有指定类型的最后一个E元素,与E:nth-last-of-type(1)等同 |
| E:only-child | 选择父元素只包含一个子元素,且该子元素匹配E元素 |
| E:only-of-type | 选择父元素只包含一个同类型子元素,且该子元素匹配E元素 |
| E:empty | 选择没有子元素的元素,而且该元素也不包含任何文本节点 |
Title p1
p2
p3
-
- li1
- li2
- li3
-
规定属于其父元素的第一个子元素的每个 p 的背景色:
/选中p1:定位到父元素,选择当前的第一个元素/
p:nth-child(1){
background: blueviolet;
}
解释:
第一步:定位p的父元素(p的第一个作用)
第二步:定位父元素下的第一个元素(数字的作用)
第三步:判断这第一个元素是否为p,若为p则改变样式,否则无效
选择父元素里第二个类型为p的元素,设置为黄色背景:
p:nth-last-of-type(2) {
background: yellow;
}
结构伪类选择器,可以根据元素在文档中所处的位置,来动态选择元素,从而减少HTML文档对ID或类的依赖,有助于保持代码干净整洁。
结构伪类选择器很容易遭到误解,需要特别强调。如:
input:not([type="submit"]) {border: 1px solid red;}
它表示的是:选择父元素下的第一个子元素 p,而不是选择 p 元素的第一个子元素。
2.3.4否定伪类选择器
| 语法 | 解释 |
| — | — |
| E:not(F) | 匹配所有除元素F外的E元素 |
例:对form中所有input加边框,但又不想submit也起变化,就可以这样写:
input:not([type=“submit”]) {border: 1px solid red;}
2.4属性选择器(常用)
属性选择器可以根据元素的属性及属性值来选择元素。
可以理解为id + class
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
(https://i-blog.csdnimg.cn/blog_migrate/4d1d4d2e5a572683b8b1a20a858232c4.png)
结构伪类选择器,可以根据元素在文档中所处的位置,来动态选择元素,从而减少HTML文档对ID或类的依赖,有助于保持代码干净整洁。
结构伪类选择器很容易遭到误解,需要特别强调。如:
input:not([type="submit"]) {border: 1px solid red;}
它表示的是:选择父元素下的第一个子元素 p,而不是选择 p 元素的第一个子元素。
2.3.4否定伪类选择器
| 语法 | 解释 |
| — | — |
| E:not(F) | 匹配所有除元素F外的E元素 |
例:对form中所有input加边框,但又不想submit也起变化,就可以这样写:
input:not([type=“submit”]) {border: 1px solid red;}
2.4属性选择器(常用)
属性选择器可以根据元素的属性及属性值来选择元素。
可以理解为id + class
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。