文章目录
一、CSS 基础选择器 1. CSS 选择器的作用
选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说,就是选择标签用的。
以上 CSS 做了两件事:
找到所有的 p 标签。 选择器(选对人)。设置这些标签的样式,比如颜色为红色,字体大小为30px,字体为隶书(做对事)。 2. 选择器分类
选择器分为基础选择器和复合选择器。 基础选择器是由单个选择器组成的。基础选择器又包括:标签选择器、类选择器、id 选择器和通配符选择器。
3.标签选择器
标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式。
语法:
标签名{
属性1: 属性值1;
属性2: 属性值2;
属性3: 属性值3;
…
例如:将所有的p标签内的文字元素改成红色,字号改为18px。
p {
color: red;
font-size: 18px;
}
标签选择器的优点是:可以快速为页面中同类型的标签统一设置样式,缺点是:不能设计差异化样式,只能选择全部的当前标签。
4.类选择器
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器。类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点“.”号显示。
语法:
.类名 {
属性1: 属性值1;
…
例如:将所有拥有 red 类的 HTML 元素均为红色。
.red {
color: red;
}
在结构中需要用class属性来调用 class 类的意思
<div class=‘red’> 变红色 </div>
注意:
类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。
多类名选择器
我们可以给一个标签指定多个类名,从而达到更多的选择目的。 这些类名都可以选出这个标签。简单理解就是一个标签有多个名字。
<div class="red font20">多类名</div>
表示该div标签有两个类名。分别是’red’和’font20’。
需要注意:
(1) 在标签class 属性中写 多个类名。
(2) 多个类名中间必须用空格分开。
(3) 这个标签就可以分别具有这些类名的样式。
5. id 选择器
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以“#" 来定义。
语法:
#id名 {
属性1: 属性值1;
…
例如:将一个id属性名为red的标签的内容颜色改为红色。
#red {
color:red;
}
注意:id 属性只能在每个 HTML 文档中出现一次。
6.通配符选择器
在 CSS 中,通配符选择器使用“*”定义,它表示选取页面中所有元素(标签)。
语法:
例如:清除所有元素的内外边距。
* {
margin: 0;
padding: 0;
}
通配符选择器不需要调用, 自动就给所有的元素使用样式。
7.id 选择器和类选择器的区别
① 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用。
② id 选择器好比人的身份证号码,全中国是唯一的,不得重复。
③ id 选择器和类选择器最大的不同在于使用次数上。
④ 类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用。
案例:
设计两个大小均为300*150px的红色盒子和粉色盒子,通过id选择器给它们设置样式,代码如下图所示:
<!DOCTYPE html>
<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>Document</title>
<style>
#d1 {
width: 300px;
height: 150px;
background-color:red;
}
#d2 {
width: 300px;
height: 150px;
background-color:pink;
}
</style>
</head>
<body>
<div id="d1">西安邮电大学</div>
<div id='d2'>西北政法大学</div>
</body>
</html>
运行结果为:
二、CSS Fonts字体属性 1. 字体系列
CSS 使用font-family 属性定义文本的字体系列。
p {
font-family:"隶书";
}
div {
font-family: Arial,"Microsoft Yahei", "微软雅黑";
}
1.各种字体之间必须使用英文状态下的逗号隔开。
2.一般情况下,如果有空格隔开的多个单词组成的字体,加引号。
3.最常见的几个字体:
body {
font-family: ‘Microsoft YaHei’,tahoma,arial,‘Hiragino Sans GB’;
2. 字体大小
CSS 使用 font-size 属性定义字体大小。
p {
font-size: 20px;
}
1.px(像素)大小是我们网页的最常用的单位。
2.谷歌浏览器默认的文字大小为16px。
3.不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小。
4.可以给 body 指定整个页面文字的大小。
3.字体粗细
CSS 使用 font-weight 属性设置文本字体的粗细。
p {
font-weight: bold;
}
常用的属性值如下:
属性值描述
norma
默认值(不加粗的)
bold
定义粗体(加粗的)
100-900
400等于normal,700等于bold(数字后面不加单位)
4.文字样式
CSS 使用 font-style 属性设置文本的风格。
p {
font-style: normal;
}
常用的属性值如下:
属性值描述
normal
默认值。浏览器会显示标准的字体样式
italic
浏览器会显示斜体的字体样式
5. 字体复合属性
字体属性可以把以上文字样式综合来写, 这样可以更节约代码:
body {
font: font-style font-weight font-size/line-height font-family;
1.使用 font 属性时,必须按语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开。
2.不需要设置的属性可以省略(取默认值),但必须保留 font-size 和 font-family 属性,否则 font 属性将不起作用。
案例:
三、CSS 文本属性
CSS Text(文本)属性可定义文本的外观,比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等。
1.文本颜色
color 属性用于定义文本的颜色。
div {
color: red;
}
常用的属性值有:
表示属性值
预定义的颜色值
例如red、green、blue
十六进制
例如#FFF,#CCC
RGB代码
rgb(255,0,0)或者rgb(100%,0,0)
2.对齐文本
text-align 属性用于设置元素内文本内容的水平对齐方式。
div {
text-align: center;
}
常用的属性值有:
表示属性值
left
居左对齐(默认值)
right
居右对齐
center
居中对齐
3. 装饰文本
text-decoration 属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上划线等。
div {
text-decoration:underline; }
常用的属性值有:
属性值描述
none
默认,没有装饰线。
underline
下划线。
overline
上划线
line-through
删除线
4.文本缩进
text-indent 属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。通过设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值。
div {
text-indent: 10px;
}
div {
text-indent: 2em;
}
em 是一个相对单位,就是当前元素(font-size) 1 个文字的大小, 如果当前元素没有设置大小,则会按照父元素的 1 个文字大小。
5. 行间距
line-height 属性用于设置行间的距离(行高)。可以控制文字行与行之间的距离。
p {
line-height: 26px;
}
如下图所示:
四、CSS 的引入方式 1.CSS 的三种样式表
按照 CSS 样式书写的位置(或者引入的方式),CSS 样式表可以分为三大类:
行内样式表(行内式)内部样式表(嵌入式)外部样式表(链接式) 2. 内部样式表
内部样式表(内嵌样式表)是写到html页面内部. 是将所有的 CSS 代码抽取出来,单独放到一个 选择器的继承子元素可以继承父元素的样式; css"> .test{ ...
css实现交融文字效果
CSS是有魔法的,我们今天来实现一个CSS的动画效果,只需要几行代码就可以搞定。
第一步、我们要将一行文字从中间展开
Document
hello world
以上是基础代码结构,通过调整letter-spacing的值,我们可以控制他的展开与收起。值越小为负数时文字就可以挤在一起,越大文字间距就越大。
默认值为0时正常显示的效果
小于正常值的效果
我们可以为节点加上keyframes动画,此时letter-spacing属性转由keyframes控制可以达到自动展开文字的效果
.text{
font-size: 100px;
color: #fff;
animation: showup 3s forwards;
}
@keyframes showup {
from{
letter-spacing: -50px;
}
to{
letter-spacing: 10px;
}
}
第二步、我们需要设置文字融合在一起的效果
先给文本节点设置filter blur文字变得模糊
学过ps的就会知道,当给图片加上较高的对比度的时候,就会导致黑的部分越黑,白的部分越白。我们给父节点加上filter,设置contrast(30),可以获得如下效果
这样就有了一些圆润的边缘,最后我们将对应的css属性交给keyframes控制,就可以达到最终的效果
@keyframes showup {
from{
letter-spacing: -50px;
/* 新增 */
filter: blur(10px);
}
to{
letter-spacing: 10px;
/* 新增 */
filter: blur(2px);
}
}
完整代码如下:
Document
hello world