CSS3核心技术
·
1.简介及样式表分类

1.1简介
【1】适用场景

CSS核心是
控制视觉表现

【2】详细介绍

1.2 样式表分类

<head>
<style>
div {
color: blue;
}
strong {
color: purple;
}
</style>
</head>
<body>
<!-- 1.内联样式表(行内样式表) 直接写到标签内部 控制当前标签-->
<p style="color:pink;">我是佩奇我喜欢粉色</p>
<!-- 2.内部样式表(嵌入样式表) 写到head标签中的style标签中 控制当前页面 -->
<div>我是乔治,我是蓝色</div>
<strong>我喜欢紫色</strong>
</body>
<head>
<!-- 3.外部样式表(链接样式表) 写到外部的css文件中 控制当前页面 -->
<link rel="stylesheet" href="./css.css/my.css">
</head>
<body>
<div>我是猪爸爸,我喜欢红色</div>
</body>
并且另写一个CSS文件:
eg:
div{
color: red;
}
2.类型选择器及AI注释
2.1CSS选择器
【1】选择器是什么

【2】选择器的细分

2.1.1基础选择器

2.1.1.1类型选择器

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
color: pink;
font-size: 20px;
}
/*就近原则 层叠性【谁离body的div近,谁决定】
所以最后是红色
*/
div {
color: red;
}
</style>
</head>
<body>
<!-- 类型选择器 标签选择器 也叫元素选择器 -->
<div>春</div>
<div>夏</div>
<div>秋</div>
<div>冬</div>
</body>
注意书写规范:
2.1.1.2 类选择器
【1】场景

【2】语法

【3】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 类选择器 选择一个或多个 实现差异化选择*/
.pink {
color: pink;
}
/* 用短横线连接单词 */
.sub-nav {
font-size: 20px;
}
</style>
</head>
<body>
<div class="pink">春</div>
<div>夏</div>
<div>秋</div>
<!-- 用空格来写下一个属性 -->
<div class="pink sub-nav">冬</div>
</body>
2.1.1.3 id选择器
【1】语法

【2】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* id 选择器 */
#first {
color: pink;
}
</style>
</head>
<body>
<div id="first">春</div>
<div>夏</div>
<div>秋</div>
<div>冬</div>
</body>
注意:类选择器与id选择器的区别
2.1.1.4通配符选择器
【1】语法

2.1.1.5 总结

2.1.2关系选择器
【1】分类

2.1.2.1 后代选择器
【1】使用场景

【2】语法

【3】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 后代选择器 -->
<style>
/* 法一 */
div a {
Color: red;
}
/* 法二 */
.footer a {
color: red;
}
/* 选择其一即可 */
/* 法一 */
ul li a {
color: skyblue;
font-size: 20px;
}
/* 法二 */
.nav li a {
color: skyblue;
font-size: 30px;
}
</style>
</head>
<body>
<ul class="nav">
<li><a href="#">首页</a></li>
<li><a href="#">产品介绍</a></li>
<li><a href="#">合作模式</a></li>
</ul>
<div class="footer">
<a href="#">关于我们</a>
<a href="#">联系我们</a>
<a href="#">隐私政策</a>
</div>
</body>
2.1.2.2 子代选择器
【1】语法

PS:是亲儿子,不是孙子....
[2]代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 子代选择器 只选择亲儿子 */
div>span {
color: red;
}
</style>
</head>
<body>
<!-- 子代选择器 -->
<div>
<span>我是儿子</span>
<p>
<span>我是孙子</span>
</p>
</div>
</body>
2.1.2.3 兄弟选择器:邻接和通用
【1】二者区别

2.1.2.4总结

2.1.3 分组选择器
【1】语法:

ps:功能一样,不用重复写功能
【2】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* h1和div都喜欢红色 ,这种要一个个规定*/
/* h1 {
color: red;
}
div {
color: red;
} */
/* 分组选择器或者叫并集选择器 */
/* 逗号隔开的,都喜欢红色 */
/* 喜欢竖着排 */
h1,
div {
color: red;
}
</style>
</head>
<body>
<h1>我喜欢红色</h1>
<div>
<p>
我喜欢红色
</p>
</div>
</body>
2.1.4 伪类选择器
简记 .类 【一个点是类】 :伪类 【两个点是伪类】
【1】分类

2.1.4.1 状态伪类
【1】链接伪类
1.语法

顺序记忆方法 : LV hao [开头字母】
2.当检查找不到这个标签时,可以如下操作

3.代码演示:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 未访问的链接 */
a:link {
color: pink;
/* 取消下划线 */
text-decoration: none;
}
/* 已访问链接的样式 */
a:visited {
color: red;
}
/* 鼠标悬停链接的样式 */
a:hover {
color: blue;
}
/* 鼠标点击链接的样式 是指点的那一瞬间,不松手*/
a:active {
color: green;
text-decoration: underline;
}
</style>
</head>
<body>
<!-- 初始定义超链接,会有下划线 -->
<a href="https://chat.deepseek.com/a/chat/s/6963ae9c-39d6-4a8f-a137-707b6ea9496b" target="_blank">deepseek</a>
<a href="#">产品介绍</a>
<a href="#">联系方式</a>
</body>
4.一般官方平台的操作【一般不用四个,先定义一个正常状态,再弄一个鼠标经过的状态】

[2.]用户行为伪类
1. 语法

2 . 代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box {
width: 200px;
height: 200px;
background-color: pink;
text-align: center;
line-height: 200px;
}
/* .box后面紧跟冒号,不能有空格 */
/* 鼠标悬停后,背景变为红色 */
.box:hover {
background-color: red;
}
.search {
width: 200px;
height: 30px;
}
/* :focus 获得焦点伪类 可以对表单进行设置 */
.search:focus {
background-color: red;
width: 300px;
}
</style>
</head>
<body>
<div class="box">文字</div>
<!-- 表单 -->
<input type="text" class="search">
</body>
2.1.4.2 结构伪类
【1】语法



【2】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择第一个小li */
.ul1 li:first-child {
color: red;
}
/* 选择最后一个小li */
.ul1 li:last-child {
color: blue;
}
/* 选择第n个小li */
.ul1 li:nth-child(2n) {
color: green;
}
/* 选择奇数个 */
.ul2 li:nth-child(odd) {
color: pink;
}
</style>
</head>
<body>
<ul class="ul1">
<li>第一个小li</li>
<li>第二个小li</li>
<li>第三个小li</li>
<li>第四个小li</li>
<li>第五个小li</li>
<li>第六个小li</li>
<li>第七个小li</li>
<li>第八个小li</li>
<li>第九个小li</li>
<li>第十个小li</li>
</ul>
<ul class="ul2">
<li>第一个小li</li>
<li>第二个小li</li>
<li>第三个小li</li>
<li>第四个小li</li>
<li>第五个小li</li>
<li>第六个小li</li>
<li>第七个小li</li>
<li>第八个小li</li>
<li>第九个小li</li>
<li>第十个小li</li>
</ul>
</body>
2.1.4.3 表单伪类
[1]语法

【2】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 按钮的修饰 */
button {
width: 150px;
height: 40px;
background-color: #ff6900;
color: #fff;
/* 去掉边框 */
border: none;
font-size: 16px;
}
/* disabled这个要同时在body里面设置一下,里面是html,下面是CSS的 */
button:disabled {
background-color: #ccc;
}
/* 但这个发现,勾选框的颜色还是没有变,这是因为不能修改,要借用其他方式
实现 */
input {
background-color: #ff6900;
}
/* 可以将字体,在选中之后,改变颜色 */
/* 表单被选中伪类选择器 */
/* 表单被选中后的邻接兄弟的字变颜色 */
input:checked+label {
color: #ff6900;
}
</style>
</head>
<body>
<button disabled>注册</button>
<br>
<input type="checkbox" id="agree">
<label for="agree">同意注册协议</label>
</body>
2.1.5 伪元素选择器
【1】区别

【2】语法

(1)选择特定部分
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 修改第一行的文字 */
p::first-line {
color: #ff6900;
}
/* 修改第一个字母 */
p::first-letter {
color: red;
font-size: 25px;
}
/* 让placeholder的文字颜色改变 */
textarea::placeholder {
color: pink;
font-size: 25px;
}
</style>
</head>
<body>
<p>
伪元素选择器:
1. 伪元素选择器是通过元素的特殊状态来选择元素的
2. 伪元素选择器的语法:
元素::伪元素选择器 {
属性:属性值;
}
3.伪元素选择器是通过元素的特殊状态来选择元素的
</p>
<textarea name="" id="" placeholder="请输入内容"></textarea>
</body>
(2)插入内容
这两个盒子是比较重要的!!!!!!

PS:content 里面是单引号/双引号都可以
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box::before {
content: "我是";
color: pink;
}
.box::after {
content: "老师";
color: red;
}
</style>
</head>
<body>
<div class="box">pink</div>
</body>
2.1.6 属性选择器
【1】语法

【2】代码演示
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a {
text-decoration: none;
}
/* 1.选择包含属性 */
/* 只让a里面的class属性的元素生效 */
/* a[class] {
color: red;
} */
/* 2.选择属性等于某个值的元素 要完全匹配 */
/* a[class="font"] {
color: pink;
} */
/* 选择属性以某个值开头的元素 */
/* a[class^="font"] {
color: red;
} */
/* 选择属性以某个值结尾的元素 */
/* =右边可以写t16,不能写16,要写16要加双引号 */
/* 即不能写纯数字 */
/* a[class$="16"] {
color: red;
} */
/* 选择属性包含某个值的元素 */
a[class*="font"] {
color: red;
}
/* 对于表单的修改 */
input[type="text"],
input[type="password"] {
/* 去掉轮廓线 */
outline: none;
}
</style>
</head>
<body>
<a href="#">修改文字颜色</a><br>
<a href="#" class="font">修改文字颜色</a><br>
<a href="#" class="font14">修改文字颜色</a><br>
<a href="#" class="font16">修改文字颜色</a><br>
<a href="#" class="red">修改文字颜色</a><br>
<input type="text">
<input type="password">
<input type="checkbox">
<input type="radio">
</body>
2.2.注释

合并表格:要加上这句话

更多推荐





所有评论(0)