这是我参与「第四届青训营 」笔记创作活动的的第2天
CSS入门
一、CSS是什么
在学习HTML时提到,要传达内容,而不是样式。
CSS(Cascading Style Sheets)是一种描述 HTML 文档样式的语言。
CSS 描述应该如何显示 HTML 元素。
二、使用CSS的三种方式
外链
链接一个外部样式表来修改网页的外观。
<link rel="stylesheet" type="text/css" href="style.css">
rel(relationship)定义文件与html文档的关系,href的值是该CSS文档的URL,type告知浏览器该文件为CSS文本。
注意:外部样式表的扩展名必须为 .css
外链方式是用的比较多的方式,可以方便地修改多个文件的样式,可以做到内容和样式的分离。
嵌入
嵌入样式是在 head 部分的 <style> 元素中进行定义。
实例:将文件中的所有一级标题显示为红色
<style>
h1 {
color: red;
}
</style>
内联
行内样式(也称内联样式)可用于为单个元素应用唯一的样式。
将 style 属性添加到相关元素。style 属性可包含任何 CSS 属性。
<h1 style="color:blue;">这是一个一级标题</h1>
内联方式使用的比较少,很显然,使用该方式会使代码太过复杂庞大,后期难以维护。
层叠顺序
内联 > 外链/嵌入 > 浏览器默认
外链和嵌入都在head标签中,层叠顺序取决于谁定义在前面。
现定义一个css文件:style.css
h1{
color: blue;
}
以下的代码会使h1的颜色为红色
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<style>
h1 {
color: red;
}
</style>
<head>
以下的代码会使h1的颜色为蓝色
<style>
h1 {
color: red;
}
</style>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<head>
三、选择器
选择器简单来说就是根据条件选择要设置样式的元素。
通配选择器
选择页面上的所有元素
* {
color: blue;
}
标签选择器
根据标签设置样式
将h1标签设置为蓝色
h1 {
color: blue;
}
id选择器
根据id设置样式
注意:id前要加上#
#1 {
color: blue;
}
类选择器
根据特定 class 属性
.cls {
text-align: center;
color: blue;
}
分组选择器
当某些标签所设置的css样式相同时,可以对其进行分组,以最大程度减少代码
h1,h2,h3 {
text-align: center;
color: blue;
}
组合选择器
根据它们之间的特定关系来选取元素
后代选择器(空格将元素隔开)
匹配元素后代中的某一所有元素 例如:选择<p>标签中的<h1>元素
p h1 {
text-align: center;
color: blue;
}
子选择器(>将元素隔开)
匹配元素的某一子元素
跟后代选择器的区别:子选择器只选择儿子元素,不包括孙子元素及更后代的元素
p > h1 {
text-align: center;
color: blue;
}
相邻兄弟选择器(+将元素隔开)
兄弟:同级元素,拥有相同的父元素
相邻:紧挨着的元素
ul + ol {
text-align: center;
color: red;
}
通用兄弟选择器(~将元素隔开)
即匹配所有的兄弟元素
ul ~ ol {
text-align: center;
color: red;
}
分别为以下html元素设置如相邻兄弟选择器和通用兄弟选择器中的css样式
<ul>
<li>无序列表项</li>
</ul>
<ol>
<li>有序列表项</li>
</ol>
<ol>
<li>有序列表项</li>
</ol>
相邻兄弟选择器
通用兄弟选择器
四、字体
在 CSS 中,有五个通用字体族:
- 衬线字体(Serif):在每个字母的边缘都有一个小的笔触。它们营造出一种形式感和优雅感。
- 无衬线字体(Sans-serif): 字体线条简洁(没有小笔画)。它们营造出现代而简约的外观。
- 等宽字体(Monospace): 这里所有字母都有相同的固定宽度。它们创造出机械式的外观。
- 草书字体(Cursive): 模仿了人类的笔迹。
- 幻想字体(Fantasy): 是装饰性/俏皮的字体。
在 CSS 中,我们使用 font-family 属性规定文本的字体。 font-family 属性应包含多个字体名称作为“后备”系统,以确保浏览器/操作系统之间的最大兼容性。
五、颜色
RGB
RGB即三原色(red,green,blue)做三个参数,每个参数的取值范围(强度)在[0~255]
RGBA
RGBA值在RGB的基础上增加了一个参数——不透明度alpha,取值范围[0~1]
HEX
可以理解为将三个参数以16进制来表示
HSL
色相(hue)是色轮上从 0 到 360 的度数。0 是红色,120 是绿色,240 是蓝色。
饱和度(saturation)是一个百分比值,0% 表示灰色阴影,而 100% 是全色。
亮度(lightness)也是百分比,0% 是黑色,50% 是既不明也不暗,100%是白色。
学习建议
- 保持好奇心,善用浏览器的开发者工具
- 充分利用MDN和W3C CSS规范
- 持续学习,CSS新特性还在不断出现