一、css简介
1.css是叠层样式表(Cascading Style Sheets),也称为css样式表活着级连样式表。css也是一种标记语言。
2.css规范:
选择器、属性、值。
选择器是用于指定css样式的HTML标签,花括号内是对该对象设置的具体样式,
属性和属性值以"键值对"的形式出现。
3.书写规范:
h3 {
color: pink;
}
属性值前面,冒号后面,保留一个空格。
选择器和大括号中间保留一个空格。
二.css选择器
2.1 css选择器的作用
选择器就是根据不同需求把不同的标签选出来,这就是选择器的作用。简单来说,就是选择标签用的。
2.2 .选择器分类
分为基础选择器和复合选择器两类。
(1)基础选择器。
- 基础选择器是由单个选择器组成的。
- 基础选择器又包括:标签选择器(标签)、类选择器(. 类名:class调用,一个或多个,开发最常用)、id选择器(#id名。只能调用一次。)和通配符选择器(*{} 选择所有元素)。
类选择器:长名词或词组可以使用中横线来为选择器命名。使用命名规范
类选择器-多类名:
- 在标签class属性中写多个类名。多个类名中间必须用空格分开。这个标签就可以分别具有这些类名的样式。
- 可以把一些标签元素相同的样式(共同的部分)放到一个类里面。这些标签都可以调用这个公共的类,然后再调用自己独有的类。从而节省css代码,统一修改也非常方便。
类选择器和id选择器的区别:1⃣️类选择器可以使用多次,id只能使用一次。2⃣️类选择用的比较多,id选择器一般用于页面唯一性的元素上,经常喝js搭配使用。
通配符选择器:表示选取页面中所有元素。*
特殊情况下才使用
* {
margin: 0;
padding: 0;
}
三、css字体属性
3.1 font-family 字体:
微软雅黑(Microsoft YaHei)
各个字体之间用逗号分隔,当多个单词组成一个字体时,最好加引号。
当引用多个字体时,按顺序进行选择。
3.2 font-size 字体大小
- px像素
- 谷歌浏览器默认为16px,不同浏览器显示字号大小不一致,尽量给一个明确值,不要默认大小。
- 可以给body指定整个页面文字的大小。标题标签比较特殊,需要单独指定大小。
3.3 font-weight 字体粗细。
normal(默认400)、bold(加粗、700)、bolder(特粗体)、lighter(细体)、number(100、200...900,没有单位)
实际开发中,更提倡用数字。
3.4 font-style 字体样式
italic(斜体);一般开发不用倾斜字体。常用的是将倾斜的标签em改成不倾斜的em{font-style:normal;}
3.5 font 复合属性写法:
- 必须按照上面的顺序,不能更换顺序。并且各个属性之间用空格隔开。
- 不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则,font不起作用。
四、文本属性
4.1 color设置文本颜色
4.2 text-align 文本对齐
center、left、right 只能实现水平对齐。
4.3 text-decoration 文本装饰
可以给文本添加下划线、删除线、上划线
一般在a超链接标签中用,将其设置为没有下划线。
重点记住:如何添加下划线,如何删除下划线。
4.4 text-indent 文本缩进
对首行进行缩进。设置可以是正的20px,也可以是负的-20px。
一般用em单位(当前元素font-size1个文字的大小),如果当前没有设置该属性,则会按照父元素的一个文字大小。1em代表一个文字大小。2em则是两个文字大小。
4.5 line-height 行间距
设置行与行之间的距离。
文字高度不会变化,主要控制上下间距的距离。一般用FSCaputre.exe小工具来用,可以从第一行的下沿量到第二行的下沿。
五、css的引入方式:
根据引入方式不同:
5.1 内部样式表
- 在html页面内部写样式,但是是单独写到style标签内部的。
- 理论上可以放到html任何内部,但是一般放在head标签中。
- 代码结构清晰,但是并没有实现结构与样式完全分离。
- 使用内部样式表设定css、通常也被称为嵌入式引入,这种方式是我们练习时常用的方式。
5.2 行内样式表
适用于修改一些简单的样式。在标签内部写一个style属性。
5.3 外部样式表
六、使用chrome 调试工具
七、
7.1 Emmet语法
6. .demo$*5 生成5个,class为demo1-5的div标签
7. div{$}*5 生成5个div标签,里面内容从1到5
css一样也可以自动生成。
7.2 格式化代码
八、复合选择器。
8.1 后代选择器(重要)
8.2 子选择器
8.3 并集选择器
约定的语法规范,并集选择器喜欢竖着写。
div,
p{ }
8.4 伪类选择器
8.4.1 链接伪类
<title>Document</title>
<style>
/* 未访问的连接 a:link 把没有点击过的(访问过的)连接选出来 */
a:link{
color: #333;
text-decoration: none;
}
/* 已经访问过的链接 a:visited */
a:visited {
color: blue;
}
/* 选择鼠标经过的连接。a:hover */
a:hover {
color: orange;
}
/* 选择鼠标正在按下,还没有谈起的链接。a:active */
a:active {
color: green;
}
</style>
</head>
<body>
<a href="#">小猪佩奇</a>
</body>
链接伪类选择器注意事项:
- 链接伪类选择器在书写时,必须按照link、visited、hover、active的顺序来书写。(LVHA)
- 因为a链接在浏览器中具有默认样式,所以实际开发工作中都需要给链接单独指定样式。
- 一般的实际开发中,给链接设置a的样式,和a:hover的样式
8.4.2 focus 伪类选择器
8.5 复合选择器总结:
九、css的元素显示模式:
9.1 什么是元素显示模式
元素显示模式就是元素(标签)以什么方式进行显示,比如<div>自己占一行,比如一行可以放多个<span>
HTML一般分为块元素和行内元素两种类型。
(1)块元素:
<h1>-<h6>、<p>、<div>、 <ul>、<ol>、<li>等,都是典型的块元素。
块元素特点:
- 比较霸道,自己占一行。
- 高度、宽度、外边距以及内边距都可以控制
- 宽度默认是容器(父级宽度)的100%
- 是一个容器及盒子,里面可以放行内或者块级元素。
注意:
- 文字类的元素内不能使用块级元素
- <p>标签主要用于存放文字,因此<p>标签不能放块元素,特别是不能放那个<div>
- 同理,<h1>-<h6>等都是文字类块级标签,里面也不能放块级元素。
(2)行内元素
行内元素又<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中,<span>标签是最典型的行内元素,有的地方也将行内元素称为内联元素。
行内元素特点:
- 相邻行内元素在一行上,一行可以显示多个。
- 高、宽直接设置是无效的
- 默认宽度就是它本身内容的宽度
- 行内元素只能容纳文本或其他行内元素。
注意:
- 链接里面不能再放链接了。
- 特殊情况,a里面可以放块级元素,但是给a转换一下块级模式最安全。
(3)行内块元素
在行内元素中有几个特殊的标签,<img><input><td>,它们同时具有块元素和行内元素的特点。称为行内块元素。
行内块元素的特点:
- 和相邻行内元素(行内块)在一行上,但是它们之间会有空白缝隙,一行可以显示多个(行内元素特点)
- 默认宽度就是它本身内容的宽度(行内元素特点)
- 高度、行高、外边距以及内边距都可以控制(块级元素特点。)
元素显示模式总结:
9.2 元素显示模式的转换
特殊情况下,需要元素模式的转换,简单理解:一个模式的元素需要另外一种模式的特性,比如想要增加a元素的点击范围。
转换为块元素:display:block;(最常用)
转换为行内元素:display:inline
转换为行内块:display:inline-block(一般常用)
9.3 小工具的使用snipaste
案例:简介版的小米侧边栏
10.css的背景
通过css背景属性,可以给页面元素添加背景模式。
设置属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。
10.1 backgroung-color 定义背景颜色
background-color:transparent(透明的,默认是透明)|颜色值;
10.2 background-image 背景图片
实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置。(精灵图也是一种运用场景)
background-image:none(默认)|url(地址)地址不需要加引号。
10.3 background-repeat背景平铺
background-repeat:repeat(默认平铺)|no-repeat(不平铺)|repeat-x(背景图像在横向上平铺)|repeat-y(背景图像在纵向上平铺)
页面元素既可以添加背景图片,也可以添加背景颜色。背景图片会压住背景颜色。
10.4 backgroung-position 背景图片位置
改变图片在背景中的位置
(1)如果是方位名词
(2)如果是精确单位
(3)如果是混合单位
10.5 background-attachment 背景图像固定(背景附着)
用来设置背景图像是否固定或者随着页面的其余部分滚动。后期可以制作视差滚动的效果。
10.6 背景属性复合写法
将背景的5个属性写在一起,是实际开发中,常用的写法。
10.7 背景半透明
10.8 背景总结
一般小图片或者超大背景图片,常用背景来做,相对比img,可以更好地控制位置。
案例:五彩导航栏