CSS3语法及选择器总结

CSS定义

css是一种样式表语言,用来美化HTML文档

一.CSS的引用

方式一:内部样式表(HTML中引用)

在HTML的title标签下方添加style双标签,style标签里面书写CSS

*style里面的注释为/ * ... /

CSS的书写规则: 选择器{属性名:属性值;}

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的html学习实验草稿</title>

    <!-- CSS的引用 -->
    <style>    
        /* 选择器 */
        p{
            color: red;   
            font-size: 30px;
        }
    </style>
</head>
<body>
    <p>CSS展示</p>
</body>
</html>

方式二.外部样式表(单独的CSS文件)

  • 将CSS代码写在单独的CSS文件中(.css)
  • 在HTML使用link标签(单标签)引入

引用语法:

html 复制代码
    <link rel="stylesheet" href="./1.css">

代码示例

CSS文件

css 复制代码
p{
    color: red;
    font-size: 50px;
}

HTML文件

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <link rel="stylesheet" href="./1.css">
</head>
<body>
    <p>CSS外部样式表引用方式示例</p>
</body>
</html>

方式三:行内样式(写在标签的style属性值里)

通常这种方式用来配合JavaScript使用

语法:

html 复制代码
<div style="color:red;font-size:20px">
    展示div标签使用CSS样式
</div>

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <link rel="stylesheet" href="./1.css">
</head>
<body>
    <p>CSS外部样式表引用方式示例</p>
    <div style="color:red;font-size:20px">
        展示div标签使用CSS样式
    </div>
</body>
</html>

二.选择器

  • 选择器的作用:查找标签,设置样式

1.标签选择器

使用标签名 作为选择器,选中同名标签 设置相同样式,并且无法差异化同名化标签的样式

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        p{
            color: red;
        }
        div{
            color: blue;
        }
    </style>
</head>
<body>
    <h2>展示标签选择器的作用</h2>
    <p>标签p1</p>
    <p>标签p2</p>
    <p>标签p3</p>
    <div>div标签1</div>
    <div>div标签2</div>
    <div>div标签3</div>
</body>
</html>

2.类选择器

作用:查找标签,差异化设置标签的显示效果

一个类选择器可以给多个标签使用

一个标签可以使用多个类名,class属性值写多个类名使用空格隔开即可

类名如果想命名为多个单词,可以使用-连接,例如my-news

使用步骤

  • 定义类选择器------> .类名
  • 使用类选择器------> 标签添加class="类名"

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        /*类标签选择器的定义*/
        .mycolor{
            color: red;
        }

        .size{
            font-size: 30px;
        }
    </style>
</head>
<body>
    <!-- 展示类选择器的使用 -->
    <h2>展示类选择器的使用</h2>
    <p class="mycolor">这是第一行,展示第一个类选择器的使用</p>
    <p>这是第二行,没有使用类选择器</p>
    <div class="mycolor size">这是div标签和第三行,展示使用多个类选择器</div>
    
</body>
</html>

3.id选择器

作用:查找标签,差异化设置标签的显示效果

场景:id选择器一般配合JavaScript使用,很少用来设置CSS样式

  • 使用步骤
    • 定义id选择器------> #id名
    • 使用id选择器------> 标签添加id="id名"

同一个id选择器在一个页面只能使用一次

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        /*类标签选择器的定义*/
        #mycolor{
            color: red;
        }

    </style>
</head>
<body>
    <!-- 展示类选择器的使用 -->
    <h2>展示类选择器的使用</h2>
    <p id="mycolor">这是第一行,展示id选择器的使用</p>
    <p>这是第二行,没有使用选择器</p>
    
</body>
</html>

4.通配符选择器

作用:查找页面所有标签,设置相同样式

通配符选择器符号:*

通配符选择器不需要调用,浏览器会自动查找页面所有标签,设置相同样式

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        /*通配符选择器的定义*/
        * {
            color: red;
        }

    </style>
</head>
<body>
    <!-- 展示通配符选择器的使用 -->
    <h2>展示通配符选择器的使用</h2>
    <p>这是第一行</p>
    <p>这是第二行</p>
    <div>标签</div>
    <ul>
        <li>列表1</li>
        <li>列表2</li>
        <li>列表3</li>
    </ul>
    <strong>加粗标签</strong>
    
</body>
</html>

5.复合选择器

  • 定义:由两个或多个基础选择器,通过不同方式组合而成
  • 作用:更准确,更高效的选择目标元素(标签)

后代选择器

  • 作用:选中某元素的后代元素
  • 选择器写法:父选择器,子选择器
  • 后代选择器会选中所有的后代(子标签,孙子标签等)

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        /* 创建一个后代选择器 */
        div span {
            color: red;
        }

    </style>
</head>
<body>

    <h2>展示后代选择器的使用</h2>
    <span> 这是个span标签 </span>
    <div>
        <span>这是个被div包裹的span标签</span>
    </div>
</body>
</html>

子代选择器

  • 与后代选择器不同的是,子代选择器只会选择子标签
  • 选择器写法:父选择器 > 子选择器{CSS属性}

代码示例:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        /* 创建一个后代选择器 */
        div > span {
            color: red;
        }

    </style>
</head>
<body>

    <h2>展示后代选择器的使用</h2>
    <span> 这是个span标签 </span>
    <div>
        <span>这是个被div包裹的span子标签</span>
        <p>
            <span>这个是被div包裹的span孙子标签</span>
        </p>
    </div>
</body>
</html>

并集选择器

  • 作用:选中多组标签设置相同的样式
  • 选择器写法:选择器1,选择器2,...选择器N{CSS属性},选择器之间用,隔开
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        /* 创建一个并集选择器 */
        div,
        p,
        span{
            color:red;
        }

    </style>
</head>
<body>

    <h2>展示并集选择器的使用</h2>
    <div>这是一个div标签</div>
    <p>这是一个p标签</p>
    <span>这是一个span标签</span>
</body>
</html>

交集选择器

  • 作用:选中同时满足多个条件的元素
  • 选择器写法:选择器1选择器2{CSS属性},选择器之间连写,没有任何复合

代码示例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>我的前端学习实验草稿</title>
    <style>
        p.box{
            color: red;
        }

    </style>
</head>
<body>

    <h2>展示并集选择器的使用</h2>
    <div>这是一个div标签</div>
    <p class="box">这是一个p标签</p>
    <span>这是一个span标签</span>
</body>
</html>
相关推荐
烛阴9 分钟前
Date-fns教程:现代JavaScript日期处理从入门到精通
前端·javascript
全栈小517 分钟前
【前端】Vue3+elementui+ts,TypeScript Promise<string>转string错误解析,习惯性请出DeepSeek来解答
前端·elementui·typescript·vue3·同步异步
穗余26 分钟前
NodeJS全栈开发面试题讲解——P6安全与鉴权
前端·sql·xss
穗余2 小时前
NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发
前端·node.js
航Hang*2 小时前
WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM
前端·笔记·edge·less·css3·html5·webstorm
江城开朗的豌豆2 小时前
JavaScript篇:a==0 && a==1 居然能成立?揭秘JS中的"魔法"比较
前端·javascript·面试
江城开朗的豌豆2 小时前
JavaScript篇:setTimeout遇上for循环:为什么总是输出5?如何正确输出0-4?
前端·javascript·面试
橘子味的冰淇淋~2 小时前
npm run build 报错:Some chunks are larger than 500 KB after minification
前端·npm·node.js
QING6183 小时前
Gradle 核心配置属性详解 - 新手指南(二)
android·前端·gradle
普通老人3 小时前
【前端】Vue中实现pdf逐页转图片,图片再逐张提取文字
前端·vue.js·pdf