前端开发 CSS第一课 CSS简介 CSS修改元素的样式 SS的基本语法 常用选择器 伪类选择器 伪元素 样式继承

1 CSS简介

CSS就是层叠样式表,网页实际上是一个多层的结构,通过CSS可以分别为网页的每一个层来设置样式,而最终我们能看到只是网页的最上边一层。总之,CSS用来设置网页中元素的样式

2 使用CSS来修改元素的样式

2.1 内联样式(行内样式)

在标签内部通过style属性来设置元素的样式
缺点:使用内联样式,样式只能对一个标签生效。如果希望影响多个元素必须在每一个元素都要复制一遍,并且当样式发生变化时,我们必须要一个一个的修改,非常不方便,所以在开发时绝对不要使用内联样式!

 <p style="color: red;font-size: 25px;">梦想是灯塔,指引人生前进的方向。</p>

在这里插入图片描述

2.2 内部样式表

将样式编写到head中的style标签里,然后通过CSS选择器来选中元素并为其设置各种样式,可以同时为多个标签设置样式,并且修改时只需要修改一处即可。内部样式表更加方便对样式进行复用。
缺点:
内部样式表只能对一个网页起作用,它里边的样式不能跨页面进行复用

<!DOCTYPE html>
<html lang="cn">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        p{
            color: red;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <p>梦想是灯塔,指引人生前进的方向。</p>
    <p>生活就像海洋,只有意志坚强的人才能到达彼岸。</p>
</body>
</html>

效果如下:
在这里插入图片描述

2.3 外部样式表(最佳办法)

可以将CSS样式编写到一个外部的CSS文件中,然后通过link标签来引入外部的文件。
外部样式表需要通过link标签进行引入,意味着只要想使用这些样式都可以对其进行引用,样式就可以在不同的网页之间进行复用。
将样式编写到外部的CSS文件中,可以使用到浏览器的缓冲机制,从而加快网页的加载速度。
首先,新建css文件
在这里插入图片描述
然后,在网页中用link标签将网页和CSS文件关联起来

<!DOCTYPE html>
<html lang="cn">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<link rel="stylesheet" href="./CSS外部样式表.css">   
</head>
<body>
    <p>梦想是灯塔,指引人生前进的方向。</p>
    <p>生活就像海洋,只有意志坚强的人才能到达彼岸。</p>
</body>
</html>

在这里插入图片描述

3 CSS的基本语法

style标签内部与网页不相关,所以不遵循HTML的语法,应遵循CSS语法!
CSS注释 /* */ 注释中的内容会自动被浏览器所忽略
选择器,通过选择器可以选中页面中的指定元素。比如p的作用就是选中页面中所有的p元素。
声明块,通过声明块来指定要为元素设置的样式。声明块由一个一个的声明组成。声明是一个名值对结构,一个样式对应一个样式值,名和值之间以:连接,以;结尾。
在这里插入图片描述
p为选择器。font-size: 20px;为声明块,font-size是名,20px是值。

4 常用选择器

4.1 元素选择器

作用:根据标签名来选中指定的元素
语法:标签名{}
例子:p{} h1{} div{}
在这里插入图片描述
在这里插入图片描述

4.2 id选择器

作用:根据元素的id属性值选中一个元素
语法:#id属性值{}
例子:#box{} #abc{}
缺点:不可重复使用
在这里插入图片描述
在这里插入图片描述
错误示范:
在这里插入图片描述

4.3 类选择器

作用:根据元素的class属性值选中一组元素
语法:.class属性值
优点:可以重复使用
在这里插入图片描述
效果如下:
在这里插入图片描述
多个一起使用
在这里插入图片描述
效果如下:
在这里插入图片描述

4.4 通配选择器

作用:选中页面中的所有元素
语法:*{}
在这里插入图片描述
效果如下:
在这里插入图片描述

4.5 交集选择器

作用:选中同时复合多个条件的元素
语法:选择器1选择器2选择器3选择器n{}
原理:
在这里插入图片描述

注意点:交集选择器中如果有元素选择器,必须使用元素选择器开头
示范:
在这里插入图片描述
在这里插入图片描述

4.6 并集选择器

作用:同时选择多个选择器对应的元素
语法:选择器1,选择器2,选择器3,选择器n{}
原理:
在这里插入图片描述
例如:p,#box,h1.box1,h2{}
示范:
在这里插入图片描述
在这里插入图片描述

4.7 关系选择器

父元素:直接包含子元素的元素叫做父元素。
子元素:总结被父元素包含的元素是子元素。
祖先元素:直接或间接包含后代元素叫做祖先元素。一个元素的父元素也是它的祖先元素。
后代元素:直接或间接被祖先元素包含的元素叫做后代元素。子元素也是后代元素。
兄弟元素:拥有相同父元素的元素是兄弟元素。

4.7.1 子元素选择器

作用:选中指定父元素的指定子元素
语法:父元素 > 子元素
在这里插入图片描述
在这里插入图片描述
分析:div有两个子元素p和span,p有一个子元素为span。div的后代有p元素、p元素中的span元素和span元素。

4.7.2 后代元素选择器

作用:选中指定元素内的指定后代元素
语法:祖先 后代
在这里插入图片描述
在这里插入图片描述
分析:div元素为祖先元素,span.r为交集选择器,同时为div元素的后代元素。

4.7.3 兄弟选择器

选择下一个兄弟
语法:前一个+下一个
选择下边所有的兄弟
语法:兄 ~ 弟
在这里插入图片描述
在这里插入图片描述
分析:
必须是与p元素紧挨着的往下的span元素!
在这里插入图片描述
在这里插入图片描述
分析:
p元素下边所以的span元素都有样式。

4.8 属性选择器

[属性名] 选择含有指定属性的元素
[属性名=属性值] 选中含有指定属性和属性值的元素
[属性名^=属性值] 选中属性值以指定值开头的元素
[属性名$=属性值] 选中属性值以指定值结尾的元素
[属性名*=属性值] 选择属性值中含有某值的元素
例如:
在这里插入图片描述
在这里插入图片描述
分析:
有title属性的p元素都有样式。

在这里插入图片描述
在这里插入图片描述
分析:
有title属性且属性值为abc的p元素才有样式。
在这里插入图片描述
在这里插入图片描述
分析:
有title属性且属性值以abc开头的p元素才有样式。
在这里插入图片描述
在这里插入图片描述
分析:
有title属性且属性值以e结尾的p元素才有样式。
在这里插入图片描述
在这里插入图片描述
分析:
有title属性且属性值含有b的p元素有样式。

5 伪类选择器

伪类,即不存在的类,特殊的类。
伪类用来描述一个元素的特殊状态。比如:第一个子元素、被点击的元素、鼠标移入的元素……
伪类一般情况下都是使用:开头
:first-child 第一个子元素
:last-child 最后一个子元素
:nth-child() 选中第n个子元素
特殊值:
n 第n个 n的范围0到正无穷
2n 或 even 表示选中偶数位的元素
2n+1 或 odd 表示选中奇数位的元素
:first-of-type
:first-of-type
:nth-of-type()
这几个伪类的功能和上述的类似,不同点是child是大分类排序,type是小分类排序。
:not()否定伪类,将符合条件的元素从选择器中去除。
例题:要求第一个li元素字体为红色。
在这里插入图片描述
在这里插入图片描述
能达到题目的要求,但是在第一个元素之上插入li元素,插入元素为第一位,但是没有红色字体,
在这里插入图片描述
在这里插入图片描述

所以采用伪类选择器。
在这里插入图片描述
在这里插入图片描述
例题:要求第最后一个li元素字体为红色。

ul>li:last-child{
            color: red;
        }

在这里插入图片描述
例题:要求第三个li元素字体为红色。

        ul>li:nth-child(3){
            color: red;
        }

在这里插入图片描述
如果在第一个li元素之上插入其他元素如:
在这里插入图片描述
在这里插入图片描述
则不符合要求,这是需要使用nth-of-type()小分类进行排序,如下:

        ul>li:nth-of-type(3){
            color: red;
        }

在这里插入图片描述
其他小分类排序,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表示选中偶数位的元素

        ul>li:nth-of-type(even){
            color: red;
        }

在这里插入图片描述

表示选中奇数位的元素

        ul>li:nth-of-type(odd){
            color: red;
        }

在这里插入图片描述
例题:除了第二个li元素不为红色,其他元素都为红色。
在这里插入图片描述

6 a标签的伪类

:link 用来表示没有访问过的连接
:visited 用来表示访问过的连接,由于隐私的原因,所以visited伪类只能修改链接的颜色
:hover 用来表示鼠标移入的状态
:active 用来表示鼠标点击
在这里插入图片描述
在这里插入图片描述

百度网址访问过,所以是橙色的,baidu12345没有访问过,所以是红色的。

在这里插入图片描述

        a:hover{
            font-size: 50px;
        } 

鼠标移入网址(不点击网址),字体变成50px。

        a:active{
            color: yellow;
        } 

在这里插入图片描述
鼠标点击网址,网址变成黄色。

7 伪元素

伪元素,表示页面中一些特殊的并不真实存在的元素(特殊位置)
伪元素使用::开头
::first-letter 表示第一个字母
::first-line 表示第一行
::selecttion 表示选中的内容
::before 元素的开始,内容无法被鼠标选中,属于CSS的内容
::after 元素的最后,内容无法被鼠标选中,属于CSS的内容
before和after必须结合content属性来使用
在这里插入图片描述
在这里插入图片描述

这一段话的首字母字体大小为40px。
在这里插入图片描述
这段话的第一行的背景颜色为黄色。
在这里插入图片描述
鼠标选中的内容的背景颜色为橙色。
在这里插入图片描述
在这里插入图片描述

在文字最前面加红色abc,在文件最后面加蓝色123。

8 样式继承

样式的继承,我们为一个元素设置样式的同时也会应用到它的后代元素上。
继承是发生在祖先后代之间的。
继承的设计是为了方便我们的开发,利用继承可以将一些通用的样式统一设置到共同祖先元素上,这样只需设置一次即可让所有的元素都具有该样式。
注意:并不是所有的样式都会被继承,比如:背景相关的,布局相关的这些样式都不会被继承。
在这里插入图片描述

div中的span继承p元素样式为蓝色字体,ul中的li继承ul元素样式为红色字体,p中的span元素继承样式为绿色字体。

在这里插入图片描述
问题:为什么div中span的背景为橙色?(背景颜色是不会被继承的)
div中span的背景颜色默认为透明的,div的颜色覆盖了透明的颜色,所以span的背景颜色为div的背景颜色。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值