这是我参与「第四届青训营 」笔记创作活动的的第2天
本次笔记主要为CSS基础知识
一、什么是CSS
1、定义
上次笔记已经讲到,页面内容主要以上上部分构成
CSS,即Cascading Style Sheets,用来定义页面元素的样式
- 设置字体颜色
- 设置位置和大小
- 添加动画效果
2、CSS语法
图片来源:CSS 语法 | 菜鸟教程 (runoob.com)
CSS规则主要有两个部分组成:选择器,一条或者多条声明。 选择器通常是您需要改变样式的 HTML 元素。
每条声明由一个属性和一个值组成。属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。
CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来:
3、CSS的引入
3.1、内联
<h1 style="color: red;">内联</h1>
这种方式的耦合度很高,不利于页面的后期维护,建议尽量不使用这种方式
3.2、嵌入
<style>
body {
background-image: url(./4kbdimg.png);
background-size: 100% 100%;
background-attachment: fixed;
background-color: lightgreen;
background-repeat: no-repeat;
}
</style>
在页面内使用style标签,然后在标签里写CSS代码 这种方式可以在代码量较少的情况下使用,代码量很多的情况下还是建议使用外链的方式
3.3、外链
<link rel="stylesheet" href="./7.21-2.css">
这种方式是通过link标签将CSS文件引入,这样我们在新的CSS文件里写的CSS代码就可以定义HTML文件的样式啦
4、CSS的工作原理
CSS的简容工作原理如图所示
二、CSS选择器
1、选择器的作用
找出页面内的元素,以便给他们设置样式 选择方式有多种
-
按照标签名,类名或者id
-
按照属性
-
按照DOM树结构
2、几种选择器
2.1、通配选择器
* {
color: red;
font-size: 20px;
}
一个 * 表示选择所有
2.2、标签选择器
p {
color: red;
font-size: 20px;
}
此时所有的p标签将被选中
2.3、类选择器
在HTML文件中我们可以给一些标签加上class的属性
<div class="btn">1</div>
<div class="btn">2</div>
<div class="btn">3</div>
然后用类选择器选中这些元素,定义他们的样式 格式为 .类名
.btn {
color: red;
font-size: 20px;
}
2.4、id选择器
<div id="btn">1</div>
#btn {
color: red;
font-size: 20px;
}
与类选择器不同的是,类可以设置给多个标签,id通常为唯一的
2.5、属性选择器
当标签具有某种属性时,我们可以通过属性选择器将其选中
<a href=""></a>
a[href] {color:red;}
此时具有href属性的标签将会被选中
3、伪类选择器
伪类选择器是不基于标签和属性的选择器
伪类选择器主要分为两类
状态伪类
a:hover{
color: red;
font-size: 20px;
}
当a标签,鼠标放上去的时候生效
结构伪类
<div>1</div>
<div>2</div>
<div>3</div>
div:nth-child(1) {
width: 396px;
height: 96px;
background-color: rgb(214, 200, 200);
}
选择出第一个div
4、选择器的组合
在使用选择器的时候,可以将组合器进行组合,达到一次选择多个或多种元素的作用
规则如下图所示
仅仅定义多个不用的选择器时直接用","分隔
a:hover,h1,h2,li,p{
color: red;
font-size: 20px;
}
这样 a:hover,h1,h2,li,p都会被选中
三、CSS的颜色表示
在CSS中有两种颜色表示方式,小白只用过第一种QAQ
RGB表示
RGB分别表示红绿蓝三原色,三原色的组合可以表示所有颜色 有两种写法:
16进制写法和rgb(x,y,z)
h1 {
color: red;
color:#3f2f1f;
color:rgb(23,25,24);
}
或者直接用英文单词表示即可
HSL表示
如上图所示,颜色有新的(对于我来说是新接触的)三个值衡量,色相,饱和度,亮度
两种颜色表示各有优势,在合适的情况下使用即可
透明度
透明度:alpha
或许用“不透明度”来形容更为准确,数值范围为0~1,数值越小越透明
直接在rgb或者hsl表示的后面添加即可,由于浏览器的差距问题,具体问题具体解决
四、字体
4.1、字体系列-font-family
p{
font-family:"Times New Roman", Times, serif;
}
像示例那样,设置字体系列,在设置时字体列表最后写上通用字体族,英文字体放在中文字体前
此外还可以使用Web Fonts引入其他的字体
4.2、字体大小-font-size
通过以上几种方式进行设置
4.3、字体粗细-font-weight
四种关键字
- normal
- lighter
- bold
- bolder
设置数值100~900,每个数值不一定生效,得看字体系列是否支持
五、其他文本样式
行高-line-height
文本对齐-text-align
举例:
h1 {
text-align:center;/*居中*/
}
p.date {
text-align:right;/*右对齐*/
}
p.main {
text-align:justify;/*两端对齐*/
}
字间距-spacing
字符之间间距:letter-spacing
单词之间间距:word-spacing
缩进-text-indent
p {text-indent:50px;}
对于中文的话可以设置em为单位,2em刚好是两个汉字长
文字修饰-text-decoration
多用于去除a标签的下划线
a {
text-decoration:none;/*无修饰*/
/*underline 下划线 line-through 删除线 等等还有其他的*/
}
留白-white-space
增加单词间的留白空间
p
{
word-spacing:30px;
}
六、调试CSS
在开发的过程中难免会遇到一些问题,这时我们可以使用浏览器的调试功能帮助进行开发工作 方法如下
或者
按f12之后点击这个
七、总结
以上就是本次笔记的全部内容,CSS的内容很多,需要我们不断去尝试,不断是探索,从而到达更加熟练的效果,能够写出精美的页面来。继续前行!
参考
菜鸟教程,MDN,青训营资料