CSS3-第一部分-选择器

1,什么是CSS3?

全称:Cascading Style Sheet

层叠:多层,说明可以通过多个样式去表现

可以理解成一个正方体,他中间穿插多层样式。

样式:具体的各种修改展示形式的表现。

表:表格

2,DIV

<style type="text/css">

div{
border:1px red soild;
}

spna{
border;1px red soild;
}

/* 
div属于块级元素,每次出现的新的div标签会进行换行操作
span属于行内元素,它再出现新的span的时候不会进行换行操作
*/

</style>

<body>
<div>XXX</div>
<div>xxx</div>
<div>xxx</div>
<span>XXX</span>
<span>XXX</span>
<span>XXX</span>

</body>

效果图如下:

我们可以看到div是自带换行的元素,属于块级元素,而span是行内元素,自身是没有换行能力的

 3,css基本语法结构

<style>

选择器{
声明1;
声明2;
·····
}

</style>

选择器是很重要的东西,后面会慢慢介绍,声明就相当于内容。

4,三种引入css的样式

1,行内样式

<h2 style="font-size:20px;color=blue;"> 你好CSS3</h2>

效果图如下:

 即在html标签中,使用标签的style属性,直接在其中编写声明,不需要写选择器,因为我们只需要改变当前的这一行标签,上面代码的意思是,将文本变成20px大小 颜色为蓝色的文本。

2,内部样式表

<head>
    <style>
        h1{
            font-size:22px;
            color:brown;
           }

    </style>
</head>\

<body>
    <h1>你好CSS3</h1>
</body>

效果图如下:

 内部样式表是新手学习中最常用也是最实用的方法,优点是便于查看与修改。

3,外部样式表

CSS代码保存在扩展名为.css的样式表中

HTML文件引用扩展名为.css的样式表,有两种方式

3,1

<link>链接式引入:

<link href="linkcss.css" rel="stylesheet" type="text/css"></link>

href引入路径,以下内容需要写死,rel="stylesheet" type="text/css"

3,2

@import导入式引入

@import url("import.css");

url指向路径

比较值得注意的是,link引入需要写在head标签的style标签里

而import引入则不需要,直接在head标签中写即可。

链接式与导入式的区别:

<link>标签属于HTML,<link>标签除了引入css标签,还可以引用其他资源,如RSS

@import是属于CSS2.1

使用<link>链接的css文件先加载到网页当中,再进行编译显示

使用@import导入的CSS文件,客户端显示HTML结构,再把css文件加载到网页当中

@import是属于CSS2.1特有的,对不兼容CSS2.1的浏览器是无效的。

5,css引入

行内样式>内部样式>外部样式表

就近原则

优先看权限最大的,按照权限大的样式来。

6,css选择器

什么是选择器,选择器有哪些,选择器是干嘛的,接下来将会告诉你这些。

6,1基本选择器

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>
        /* 类选择器 */
        /* 当标签存在属性class并且该属性与我们写的class属性相同时,会被选择 */
        /* 类选择器使用“"."+class的名称”这种形式 */
        .redcolor{
            font-size: 22px;
            color: red;
        }
        .bluecolor{
            font-size: 22px;
            color: blue;
        }
        /* id选择器 */
        /* 当标签存在属性id并且该属性与我们写的id属性相同时,会被选择 */
        /* id选择器使用“"#"+id的名称”这种形式 */
        #h1id1{
            color: pink;
        }
         /* 标签选择器 */
        h1{
            color: yellow;
        }
    </style>
</head>
<body>
    <h1 class="redcolor">你好css</h1>
    <h2 class="bluecolor">你好css</h2>
    <h3>你好css</h3>
    <h1 id="h1id1" class="redcolor">你好css</h1>
    <h2>你好css</h2>
    <h3>你好css</h3>
</body>

无论是哪种方式引入CSS样式,一般都遵循ID选择器 > class类选择器 > 标签选择器的优先级。

<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>
        span {
            color: red;
        }
        .ye{
            color:yellow; 
        }
        #d6h{
            color:blue;
        }
    </style>
</head>
<body>
    <div>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye" id="d6h">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
        </div>
</body>

<style>
        span {
            color: red;
        }
        .ye{
            font-size: 30px;
        }
        #d6h{
            font-family: "宋体";
        }
    </style>
</head>
<body>
    <div>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye" id="d6h">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span>标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
            制作影视简介,<span class="ye">标题使用标签</span>,其他文本均放在段落标签中,超链接使用,图片使用<br/>
        </div>
</body>

6.2高级选择器

第一种:后代选择器

<style>
        div h1{
             color:red;
             }
</style>

<body>
    <h1>test123123</h1>
    <div><h1>test123123</h1></div>
</body>

 注意上面的第一行h1没有变色,因为他就是正常的标签标签,但第二行变色是因为他被div包裹了,他是div的后代,所以他变色了

第二种:子类选择器

<style>
    body>h1{
        color:red;
            }
</style>
<body>
    <h1>text123123</h1>
    <div><h1>text123123</h1></div>
</body>

 

必须要上一级的标签是指定的第一个元素。此时只有第一个变成红色,因为第二个中间还有一层<div>

"他不是body的儿子,他是body的孙子"

所以不会被选中

第三种:兄弟选择器

 <style>
        .active+h1{
            color: red;
        }
    </style>
</head>
<body>
    <h1 class="active">test123123</h1>
    <div>
        <h1 class="active">
            test1
        </h1>
        <h1 class="active">
            test2变色
        </h1>
        <h1>
            test3变色
        </h1>
        <h1 class="active">
            test4
        </h1>
        <h1>
            test5变色
        </h1>
        <h1>
            test6
        </h1>
    </div>
</body>

 首先自身需要满足第二个条件(条件可以是任何的基本选择器),其次要求他紧贴着上面的那个元素是满足第一个条件(要求为同一个”辈分“)。

第四种:通用兄弟选择器

<style>
        .active~h1{
            color: red;
        }
    </style>
</head>
<body>
    <h1 class="active">test123123</h1>
    <div>
        <h1 class="active">
            test1
        </h1>
        <h1 class="active">
            test2变色
        </h1>
        <h1>
            test3变色
        </h1>
        <h1 class="active">
            test4
        </h1>
        <h2>
            test5他是h2标签
        </h2>
        <h1>
            test6
        </h1>
    </div>
</body>

 和相邻兄弟选择器不同,只要满足第一个条件之后的并且自身满足第二个条件,就会被选择

为什么第五个没有变色,因为h2标签哈哈,被骗了吧!

6,3伪类选择器

首元素选择器:

<style>
        h1:first-child{
            color:red;
        }
    </style>
    <!-- 
        只有test01变色了,因为只有test01包裹的h1
        同是满足即使当前包裹情况的第一个元素,又是h1标签
        所以只有他变色
     -->
</head>
<body>
<div>
    <h1>test01</h1>
    <h1>test02</h1>
    <h1>test03</h1>
    <h1>test04</h1>
    <h1>test05</h1>
</div>
<h1>test01</h1>
<div>
    <h2>test06</h2>
    <h1>test07</h1>
</div>
</body>

最后一个元素选择器:

 <style>
        h1:last-child{
            color:blue;
        }
    </style>
</head>
<body>
<div>
    <h1>test01</h1>
    <h1>test02</h1>
    <h1>test03</h1>
    <h1>test04</h1>
    <h1>test05</h1>
</div>
<h1>test01</h1>
<div>
    <h2>test06</h2>
    <h1>test07</h1>
</div>
</body>

只有5和7在各自包裹的div中都是属于最后一个元素

注意:<body>标签中的最后一个元素不会被选中

first-child与first-of-type的区别

E:first-child是找到第一个元素,是否是满足的类型(E)。

E:first-of-type是优先寻找所有的E类型,之后去将找到的第一个给渲染。

6,4属性选择器

 这个说实话用的真的很少,并且我也不是专业的前端哈,感兴趣的可以去详细了解,说实话平时除了特定的一些题目要求那么做,我一般都不用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值