这是我这是我参与「第四届青训营 」笔记创作活动的的第2天
了解CSS
CSS是什么
CSS的组成部分
包含选择器Selector、选择器Property、属性值Valuehe和声明Delclaration。
在页面中使用CSS
- 外链:把CSS放在一个单独文件,然后用link引入进来。
- 嵌入:把样式代码嵌入HTML里面
- 内联:写在HTML的style属性里面(不推荐)
CSS是如何工作的
当浏览器显示文档时,它必须将文档的内容与其样式信息结合。它分两个阶段处理文档:
- 浏览器将HTML和转化成DOM。DOM在计算机内存中表示文档。它把文档内容和其样式结合在一起。
- 浏览器显示 DOM 的内容。
DOM
DOM是一种树形结构. 标记语言中的每个元素,属性,文本片段都变为一个 DOM 节点。这些节点由它们与其它 DOM 节点的关系来定义。有的元素是某些子节点的父节点,且这些子节点有兄弟(节点)。
由于 DOM 是 CSS 与文档内容的相遇之处,理解 DOM 有助于设计,调试和维护 CSS 文件。
选择器Selector
Selector一般称为选择器,也可以翻译为多路复用器,是Java NIO核心组件之一,主要功能是用于检查一个或者多个NIO Channel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个Channel(通道),当然也可以管理多个网络连接。
使用Selector的好处在于,可以使用更少的线程来处理更多的通道,相比使用更多的线程,避免了线程上下文切换带来的开销等。
通配选择器
-
通配选择器用一个星号(*)表示。单独使用时,这个选择器可以与文档中的任何元素匹配,就像一个通配符。如,让页面上的所有文本都为黑色:
* { color: black; } -
当然也可以选择某个元素下的所有元素。在与其他选择器结合使用时,通配选择器可以对特定元素的所有后代应用样式。如,以下代码为 .demo 元素的所有后代,添加一个灰色背景:
.demo * { background: gray; } -
虽然通配选择器的功能强大,但是出于效率考虑,很少有人使用它。由于各个浏览器对每个元素上的默认边距都不一致,为了保证页面能够兼容多种浏览器,通常在Reset样式文件中,使用通配选择器进行重置,来覆盖浏览器的默认规则:
* { margin: 0; padding: 0; }
标签选择器
标签选择器也称元素选择器、类型选择器,它直接使用元素的标签名当做选择器,将选择页面上所有该种标签。
<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>标签选择器</title>
<style>
span {
color: red;
}
p {
color: rgb(98, 0, 255);
}
ul {
/* 去掉无序列表的小圆点 */
list-style: none;
}
a {
/* 去掉超级链接的下划线 */
text-decoration: none;
}
</style>
</head>
<body>
<p>
今天天津<span>又下雨了</span>
</p>
<div>
<div>
<ul>
<li>A</li>
<li><span>B</span></li>
<li>C</li>
</ul>
</div>
</div>
<a href="http://www.baidu.com">百度一下,你就知道</a>
</body>
</html>
id选择器
id选择器可以使用井号#前缀,选择指定id的标签,示例代码如下:
#para {
color: red;
}
</style>
</head>
<body>
<p id="para">
我是一个段落,我有id属性。
</p>
</body>
类选择器
class属性表示“类名”,类名的命名规范和id的命名规范相同。使用点.前缀选择指定class的标签。
属性选择器
属性选择器可以为拥有指定属性的 HTML 元素设置样式;属性选择器通过 [] 来定义,[] 内部为元素的属性,属性选择器的权重要高于标签选择器。
/* 选择 div 下的 p 标签的 class 属性值为 blue 的元素 */
div p[class="blue"] {
background: blue;
}
<div>
<p class="blue">p 标签</p>
<p class="blue red">p 标签</p>
<p class="blue">p 标签</p>
</div>
伪类
-
CSS 伪类是用来添加一些 '选择器' 的特殊效果(特殊状态)。
-
伪类实际使用场景举例:
- 设置鼠标悬停在元素上时的样式 。
- 为已访问和未访问链接设置不同的样式 。
- 设置元素获得焦点时的样式 。
组合(Combinators)
![@~FLR1~DXURF@DI0M5JJ.png
选择器组
颜色
- 十六进制代码用于以基数16的十六进制表示形式表示颜色的RGB(红绿蓝) 分量。 如果三个RGB配对( R,G和B )中的每一个值都相同,则可以将颜色代码缩短为三个字符(每个配对的第一个数字)。
- RGB也称为RGBa, 代表红色,绿色和蓝色,并且需要三个介于0和255之间的单独值,放在括号之间,分别对应于红色,绿色和蓝色的十进制颜色值。
- RGBa允许在0.0和1.0之间添加一个alpha参数来定义不透明度 。
- 这是一种声明颜色是使用HSL还是HSLa的方法 ,类似于RGB和RGBa 。
- HSL代表色相,饱和度和亮度 。色相是色轮上的度数(从0到360)。 饱和度是介于0%和100%之间的百分比。 亮度也是0%到100%之间的百分比。
- HSLa允许您在0.0到1.0之间添加一个附加的alpha参数来定义不透明度。
字体font-family
使用 Web Fonts
网络-字体们,就是我们自己定义的图片字体。把图片变成字体,然后就可以进行各种字体操作了,比如加粗,字号增大,下划线。
<style>
.line {
font-family: 'Courier New', Courier, monospace;
}
</style>