CSS基础与应用详解

news2024/12/17 5:45:55

​🌈个人主页:前端青山
🔥系列专栏:Css篇
🔖人终将被年少不可得之物困其一生

依旧青山,本期给大家带来Css篇专栏内容:CSS基础与应用详解

前言

CSS(层叠样式表)是网页设计中不可或缺的一部分,它使得HTML文档更加美观和功能丰富。本文将详细介绍CSS的基本概念、语法、选择器、伪类、颜色表示法以及图片格式等内容,并通过具体的代码示例进行解析,帮助读者更好地理解和掌握CSS的应用。

目录

前言

1. CSS概述

1.1 什么是CSS

1.2 CSS的基本语法

1.3 CSS的引入方式

1.3.1 行内样式

1.3.2 内部样式表

1.3.3 外部样式表

2. CSS选择器

2.1 基本选择器

2.1.1 全局选择器

2.1.2 标签选择器

2.1.3 类选择器

2.1.4 ID选择器

2.2 复合选择器

2.2.1 群组选择器

2.2.2 后代选择器

3. CSS优先级

3.1 优先级规则

3.2 权重值

4. CSS颜色表示法

4.1 基本颜色表示法

4.1.1 英文单词

4.1.2 十六进制

4.1.3 RGB三原色表示法

4.1.4 HSB表示法

4.2 透明度

5. 图片格式

5.1 常见图片格式

5.1.1 JPG

5.1.2 PNG

5.1.3 GIF

6. 伪类选择器

6.1 伪类选择器概述

6.2 伪类选择器示例

7. 实际应用示例

7.1 示例1:基本样式应用

7.2 示例2:外部样式表

7.3 示例3:图片标签

7.4 示例4:伪类选择器

7.5 示例5:复合选择器

结尾


1. CSS概述

1.1 什么是CSS

CSS(Cascading Style Sheets,层叠样式表)是一种用于控制网页外观的标记性语言。它与HTML配合使用,可以精确地控制网页中的文本、图像、表格等元素的样式。CSS的主要作用是将内容与表现分离,使网页的维护和更新更加方便。

1.2 CSS的基本语法

CSS的基本语法结构如下:

css选择器 {
    属性名: 属性值;
    属性名: 属性值;
}
  • 选择器:用于指定要应用样式的HTML元素。

  • 属性名:定义要设置的样式属性。

  • 属性值:指定属性的具体值。

1.3 CSS的引入方式

CSS可以通过以下几种方式引入到HTML文档中:

  1. 行内样式:直接在HTML标签中使用style属性。

  2. 内部样式表:在HTML文档的<head>部分使用<style>标签。

  3. 外部样式表:通过<link>标签或@import规则引入外部CSS文件。

1.3.1 行内样式

行内样式直接在HTML标签中使用style属性来定义样式。例如:

html
​
<p style="color: red; font-size: 16px;">这是一个段落。</p>
1.3.2 内部样式表

内部样式表在HTML文档的<head>部分使用<style>标签来定义样式。例如:

<!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>
        p {
            color: lightblue;
        }
    </style>
</head>
<body>
    <p>这是一个段落。</p>
</body>
</html>
1.3.3 外部样式表

外部样式表通过<link>标签或@import规则引入外部CSS文件。例如:

<!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>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <p>这是一个段落。</p>
</body>
</html>

或者使用@import规则:

<!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>
        @import url("css/style.css");
    </style>
</head>
<body>
    <p>这是一个段落。</p>
</body>
</html>

2. CSS选择器

2.1 基本选择器

CSS选择器用于选择要应用样式的HTML元素。常见的基本选择器包括:

  1. 全局选择器(通配符选择器)*,选择所有元素。

  2. 标签选择器:通过标签名称选择元素。

  3. 类选择器:通过class属性选择元素。

  4. ID选择器:通过id属性选择元素。

2.1.1 全局选择器

全局选择器*选择所有元素。例如:

* {
    color: seagreen;
}
2.1.2 标签选择器

标签选择器通过标签名称选择元素。例如:

p {
    color: lightblue;
}
2.1.3 类选择器

类选择器通过class属性选择元素。例如:

.list {
    color: brown;
}
2.1.4 ID选择器

ID选择器通过id属性选择元素。例如:

#a {
    color: black;
}

2.2 复合选择器

复合选择器由多个基本选择器组成,用于更精确地选择元素。常见的复合选择器包括:

  1. 群组选择器:同时选中多个标签,用逗号隔开。

  2. 后代选择器:选中选择符1的所有后代选择符2,用空格隔开。

2.2.1 群组选择器

群组选择器同时选中多个标签,用逗号隔开。例如:

.list, #a, p {
    color: red;
}
2.2.2 后代选择器

后代选择器选中选择符1的所有后代选择符2,用空格隔开。例如:

ol li {
    color: blueviolet;
}

3. CSS优先级

3.1 优先级规则

CSS优先级决定了当多个样式规则应用于同一个元素时,哪个规则会被应用。优先级规则如下:

  1. 行内样式 > 内部样式 = 外部样式

  2. 重要性(!important)优先级最高

3.2 权重值

权重值是一个虚拟的概念,用于计算选择器的优先级。权重值的计算规则如下:

  • 全局选择器:0

  • 标签选择器:1

  • 类选择器:10

  • ID选择器:100

  • 重要性(!important:1000+

例如:

* {
    color: seagreen;
} /* 权重值:0 */

p {
    color: lightblue;
} /* 权重值:1 */

.list {
    color: brown;
} /* 权重值:10 */

#a {
    color: black;
} /* 权重值:100 */

.list, #a, p {
    color: red;
} /* 权重值:10 + 100 + 1 = 111 */

ol li {
    color: blueviolet;
} /* 权重值:1 + 1 = 2 */

4. CSS颜色表示法

4.1 基本颜色表示法

CSS提供了多种颜色表示法,常用的有:

  1. 英文单词:如redgreen等。

  2. 十六进制:如#000(黑色)、#fff(白色)等。

  3. RGB三原色表示法:如rgb(255, 0, 0)(红色)、rgb(0, 255, 0)(绿色)等。

  4. HSB表示法:色调、饱和度、亮度表示颜色。

4.1.1 英文单词

使用英文单词表示颜色。例如:

div {
    background-color: red;
}
4.1.2 十六进制

使用十六进制表示颜色。例如:

div {
    background-color: #f00;
}
4.1.3 RGB三原色表示法

使用RGB三原色表示颜色。例如:

div {
    background-color: rgb(255, 0, 0);
}
4.1.4 HSB表示法

使用HSB表示颜色。例如:

div {
    background-color: hsb(0, 100%, 50%);
}

4.2 透明度

CSS还支持设置颜色的透明度,使用rgbahsla表示法。例如:

div {
    background-color: rgba(122, 196, 159, 0.5);
}

5. 图片格式

5.1 常见图片格式

常见的图片格式包括:

  1. JPG:有损压缩,占用空间小。

  2. PNG:支持透明,无损压缩。

  3. GIF:动图,支持256种颜色。

5.1.1 JPG

JPG是一种有损压缩格式,适用于照片等复杂图像。例如:


<img src="img/photo.jpg" alt="照片">
5.1.2 PNG

PNG是一种无损压缩格式,支持透明,适用于图标、logo等。例如:


<img src="img/logo.png" alt="Logo">
5.1.3 GIF

GIF是一种动图格式,支持256种颜色,适用于简单的动画。例如:


<img src="img/animation.gif" alt="动画">

6. 伪类选择器

6.1 伪类选择器概述

伪类选择器用于选择具有特定状态的元素。常见的伪类选择器包括:

  1. :link:未访问的链接。

  2. :visited:已访问的链接。

  3. :hover:鼠标悬停时的链接。

  4. :active:鼠标点击时的链接。

6.2 伪类选择器示例

a:link {
    color: red;
}

a:visited {
    color: yellow;
}

a:hover {
    color: green;
}

a:active {
    color: blue;
}

7. 实际应用示例

7.1 示例1:基本样式应用

<!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>
        div {
            width: 300px;
            height: 200px;
            background-color: rgb(122, 196, 159, 0.5);
        }
    </style>
</head>
<body>
    <div>这是一个div元素。</div>
</body>
</html>

7.2 示例2:外部样式表

<!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>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <div class="a" id="a">文字</div>
</body>
</html>

7.3 示例3:图片标签

<!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>
</head>
<body>
    <img src="img/dabai.jpg" alt="提示文字" title="大白" width="300">
</body>
</html>

7.4 示例4:伪类选择器

<!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>
        a:link {
            color: red;
        }
        a:visited {
            color: yellow;
        }
        a:hover {
            color: green;
        }
        a:active {
            color: blue;
        }
    </style>
</head>
<body>
    <a href="#">点击跳转</a>
</body>
</html>

7.5 示例5:复合选择器

<!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>
        * {
            color: seagreen;
        }
        p {
            color: lightblue;
        }
        .list {
            color: brown;
        }
        #a {
            color: black;
        }
        .list, #a, p {
            color: red;
        }
        ol li {
            color: blueviolet;
        }
    </style>
</head>
<body>
    <ul>
        <li>你干嘛呀</li>
        <li>你干嘛呀</li>
        <li class="list">你干嘛呀</li>
        <li id="a">你干嘛呀</li>
        <li>你干嘛呀</li>
        <li>你干嘛呀</li>
    </ul>
    <ol>
        <li>哎呦</li>
        <li>哎呦</li>
        <li>哎呦</li>
        <li>哎呦</li>
        <li>哎呦</li>
    </ol>
    <p>段落文本</p>
    <p>段落文本2</p>
</body>
</html>

结尾

本文详细介绍了CSS的基本概念、语法、选择器、伪类、颜色表示法以及图片格式等内容,并通过具体的代码示例进行了解析。希望本文能帮助读者更好地理解和掌握CSS的应用,提高网页设计的技能。在未来的学习和实践中,建议多尝试不同的CSS技巧和效果,不断积累经验,提升自己的技术水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2260881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/S软件授权注册系统(Winform+WebApi+.NET8+EFCore版)

适用软件&#xff1a;C/S系统、Winform桌面应用软件。 运行平台&#xff1a;Windows .NETCore&#xff0c;.NET8 开发工具&#xff1a;Visual Studio 2022&#xff0c;C#语言 数据库&#xff1a;Microsoft SQLServer 2012&#xff0c;Oracle 21c&#xff0c;MySQL8&#xf…

国标GB28181网页直播平台EasyGBS国标EasyGBD对讲音频demo

近年来&#xff0c;随着信息技术的飞速发展&#xff0c;视频监控领域正经历从传统安防向智能化、网络化安防的深刻转变。在此过程中&#xff0c;GB28181标准凭借其强大的功能和灵活性&#xff0c;成为了推动视频监控系统互联互通和高效管理的重要一环。通过支持GB28181协议&…

session 共享服务器

1.安装 kryo-3.0.3.jar asm-5.2.jar objenesis-2.6.jar reflectasm-1.11.9.jar minlog-1.3.1.jar kryo-serializers-0.45.jar msm-kryo-serializer-2.3.2.jar memcached-session-manager-tc9-2.3.2.jar spymemcached-2.12.3.jar memcached-session-manager-2.3.2.jar …

【蓝桥杯国赛真题15】python质因数个数 蓝桥杯青少年组python编程国赛真题详细解析

目录 python质因数个数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python质因数个数 第十二届蓝桥杯青少年组python比赛国赛真题详细解析 …

智能硬件「百团大战」:AI驱动的周期来了吗?

要想在竞争激烈的市场中打造出真正的AI硬件“爆款”&#xff0c;并非简单地在现有硬件上堆砌AI功能就能实现&#xff0c;而是需要深刻理解AI的本质&#xff0c;用AI技术从底层逻辑出发&#xff0c;彻底重塑硬件产品的设计、功能与用户体验。 作者|斗斗 编辑|皮爷 出品|产…

Linux核心概念与常用命令

文章目录 一、Linux概述1、常见的操作系统2、Linux发展史3、Linux目录结构 二、文件和目录操作1、pwd - 显示当前目录2、cd - 切换目录3、ls - 列出目录内容4、mkdir - 创建目录5、touch - 创建空文件6、cp - 复制文件或目录7、mv - 移动或重命名文件8、rm - 删除文件或目录9、…

uniappp配置导航栏自定义按钮(解决首次加载图标失败问题)

1.引入iconfont的图标&#xff0c;只保留这两个文件 2.App.vue引入到全局中 import "./static/fonts/iconfont.css"3.pages.json中配置text为图标对应的unicode {"path": "pages/invite/invite","style": {"h5": {"…

vue组件开发:构建响应式快捷导航

前言 快捷导航不仅能够显著提升系统的灵活性和用户交互性&#xff0c;还极大地增强了用户的操作体验。本文将展示如何在 vue 中实现一个既可自定义又具备响应式特性的快捷导航菜单。 一、实现思路 列表页 结构设计 定义页面结构&#xff0c;包含一个导航卡片和一个对话框组件&a…

基于 Spring Boot 实现图片的服务器本地存储及前端回显

??导读&#xff1a;本文探讨了在网站开发中图片存储的各种方法&#xff0c;包括本地文件系统存储、对象存储服务&#xff08;如阿里云OSS&#xff09;、数据库存储、分布式文件系统及内容分发网络&#xff08;CDN&#xff09;。文中详细对比了这些方法的优缺点&#xff0c;并…

深入了解IPv6——光猫相关设定:DNS来源、DHCPv6服务、前缀来源等

光猫IPv6设置后的效果对比图&#xff1a; 修改前&#xff1a; 修改后&#xff1a; 一、DNS来源 1. 网络连接 来源&#xff1a; 从上游网络&#xff08;如运营商&#xff09;获取 IPv6 DNS 信息&#xff0c;通过 PPPoE 或 DHCPv6 下发。 特点&#xff1a; DNS 服务器地址直…

欧科云链研究院:AI时代,如何证明“我是我”?

OKG Research&#xff5c;编辑 近日&#xff0c;OpenAI 发布了新模型 Sora。这是一款高性能的文本到多模态生成工具&#xff0c;支持从文本生成精细的图像和动态视频。 相较早先发布的视频样例&#xff0c;该功能目前已经可以由用户真实上手体验&#xff0c;目前由于服务过载…

Cesium进阶教程——自定义图形、外观、绘图基础、现有着色器移植至Cesium、ShadowMapping、视频GIS、模型压平、卷帘

基础必看 WEBGL基础&#xff08;从渲染管线角度解读&#xff09; 参考路线 http://www.xt3d.online/tutorial/further/article.html 自定义图形 https://blog.csdn.net/m0_55049655/article/details/138908327 https://blog.csdn.net/m0_55049655/article/details/140306837 …

【Linux|计算机网络】HTTPS工作原理与安全机制详解

目录 1、HTTPS是什么&#xff1f; 2、概念准备 2.1.什么是加密、解密、密钥 2.2.为什么要加密 2.3.常见的加密方式 1.对称加密 2.非对称加密 2.4.数据摘要 && 数据指纹 2.5. 数字签名 3.HTTPS 的工作过程探究 方案 1 - 只使用对称加密 方案 2 - 只使用非对…

【JavaWeb后端学习笔记】Redis常用命令以及Java客户端操作Redis

redis 1、redis安装与启动服务2、redis数据类型3、redis常用命令3.1 字符串String3.2 哈希Hash3.3 列表List3.4 集合Set&#xff08;无序&#xff09;3.5 有序集合zset3.6 通用命令 4、使用Java操作Redis4.1 环境准备4.2 Java操作字符串String4.3 Java操作哈希Hash4.4 Java操作…

洛谷题解P1219 [USACO1.5] 八皇后 Checker Challenge

本题是一道dfs的题目&#xff08;&#xff09;&#xff08;&#xff09;感觉主要的困惑点在于对角线的判断&#xff08;我刚开始还想遍历&#xff09; 题目&#xff1a; 题目很简短&#xff0c;清晰易懂&#xff0c;就是要找到全部的能使n个棋子在不同行不同列并且也不会在同一…

伺服电机控制驱动器选择

伺服电机控制驱动器选择 根据具体使用场景和需求&#xff0c;可以选择 Modbus RTU、Modbus TCP 或 CAN 通信方式。这些协议在伺服电机的驱动和固件中起到核心作用。以下是详细说明及推荐。 1. 驱动器的作用 接收控制器指令&#xff08;如位置、速度或扭矩命令&#xff09;。将…

嵌入式跨平台工具链终极方案

嵌入式跨平台工具链终极方案 1. 解决烦人的编译&#xff0c;从编译器开始2. T0级别的代码编辑器IDE3. git linus之父开发神奇的分布式代码管理工具 我们从8051开始学习嵌入式&#xff0c;用过了不少IDE&#xff0c;比如经典的keil和IAR&#xff0c;但是这些IDE都不便宜&#xf…

Ubuntu安装Gitlab详细图文教程

1、环境准备 1.1、Ubuntu环境 Ubuntu24.04Sever版安装教程 1.2、更新系统 sudo apt update -y sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx # 安装 apt install nginx -y 2.2 修改nginx配置⽂件 # 修改nginx配置 vim /etc/nginx/si…

redis集群安装部署 redis三主三从集群

redis集群安装部署 redis三主三从集群 1、下载redis2、安装redis集群 三主三从3、配置redis开机自启动3.1、建立启动脚本3.2、复制多份redis启动脚本给集群使用3.3、添加可执行权限3.4、配置开机自启动 1、下载redis 本次redis安装部署选择当前最新的稳定版本7.4.1 下载链接: …

泊松编辑 possion editing图像合成笔记

开源地址&#xff1a; GitHub - kono-dada/Reproduction-of-possion-image-editing 掩码必须是矩形框