【CSS】CSS 总结 ① ( CSS 引入方式 | CSS 选择器 | 基础选择器 | 复合选择器 ) ★

文章目录

  • 一、CSS 引入方式
    • 1、CSS 的 3 种引入方式 ( 内联 | 内嵌 | 外链 )
  • 二、CSS 选择器
    • 1、CSS 基础选择器
    • 2、CSS 复合选择器
      • 后代选择器
      • 子元素选择器
      • 交集选择器
      • 并集选择器
      • 链接伪类选择器





一、CSS 引入方式



CSS 引入方式相关博客 :

  • 【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )
  • 【CSS】CSS 层叠样式表 ② ( CSS 引入方式 - 内嵌样式 )
  • 【CSS】CSS 层叠样式表 ③ ( CSS 引入方式 - 外链式 | CSS 样式规则 )

1、CSS 的 3 种引入方式 ( 内联 | 内嵌 | 外链 )


CSS ( Cascading Style Sheets ) 层叠样式表 有 3 种引入方式 :

  • 内联样式 : 将 标签样式 直接写在 HTML 标签元素 的 内部 , 使用 style 标签属性设置 CSS 样式 , 将 CSS 样式信息 与 特定的 HTML 标签元素 直接关联在一起 ;
    • 缺点 : 只能控制当前 HTML 标签的样式 , 每个标签都要写一遍样式 , 会 造成代码冗余 ; 没有实现 样式 与 结构分离 ;
<h3 style="color:red; font-size:20px;">用户注册信息</h3>
  • 内嵌样式 : CSS 样式代码 写在 HTML 文档的 <head> 标签中 的 <style> 标签中 ;
    • 适用场景 : 内嵌样式 引入 CSS 样式 适合 单个网页 的样式定义 ;
    • 缺陷 : 如果一个 网站包含多个页面 , 每个页面都使用内部样式表会导致代码重复和维护困难 ;
<head><style type="text/css">标签选择器 { 属性名称1: 属性值1;属性名称2: 属性值2; 属性名称3: 属性值3;}</style>
</head>
  • 外链式 : 将 CSS 样式代码 写在一个单独的 .css 文件中 , 然后在 HTML 文档中使用 <link> 标签 或 @import 规则引入 ;
    • 优点 : 提高了代码的 可重用性 , 可维护性 , 网站性能 ;
	<head> <link rel="stylesheet" type="text/css" href="style.css" /><style>  @import url('styles.css');  </style></head>




二、CSS 选择器



CSS 选择器 相关博客 :

  • 【CSS】CSS 选择器 ① ( CSS 选择器作用 | CSS 选择器分类 | 标签选择器 | 类选择器 | div 与 span 标签 | 多类名选择器 )
  • 【CSS】CSS 选择器 ② ( ID 选择器 | 通配符选择器 | CSS 选择器使用注意事项 )
  • 【CSS】CSS 复合选择器 ① ( 基础选择器与复合选择器 | 后代选择器 )
  • 【CSS】CSS 复合选择器 ② ( 子元素选择器 | 交集选择器 )
  • 【CSS】CSS 复合选择器 ④ ( 链接伪类选择器 | a:link 默认样式 | a:visited 已访问样式 | a:hover 鼠标移动样式 | a:active 选定链接样式 )

1、CSS 基础选择器


CSS 选择器 :

  • 标签选择器 ( 推荐使用 ) : 使用 HTML 标签作为选择器 , 如果 HTML 引入了使用 标签选择器的 CSS 样式 , 那么该 HTML 中的 所有的指定标签 , 都使用该 CSS 样式 ;
    • 优点 : 可以 快速为 HTML 页面的 某个类型的标签统一样式风格 ;
    • 缺点 : 不能进行差异化的样式风格设置 ;
HTML标签名 {属性名称:属性值; 
} 
h3 { font-size:20px; 
}
  • 类选择器 ( 推荐使用 ) : 将 页面中的 某几个 标签选择出来 , 使用 " .类名 " 识别标签 ;

    • 首先 , 在标签中的 class 属性中设置类名 , <p class="name">标签内容</p> ;
    • 然后 , 在 CSS 中使用 " .类名 " 作为 类选择器 , 选出设置指定类名的标签 , .name { color: blue; } ;
  • id 选择器 ( 不推荐使用 ) : 使用 " #id " 选择 指定的 某一个 标签 ;

    • 首先 , 在 HTML 中 设置 标签的 ID , <p id="name">标签内容</p> ;
    • 然后 , 在 CSS 样式中使用 ID 选择器 , #name { color: blue; } ;
  • 通配符选择器 ( 不推荐使用 ) : 使用 通配符 * 可以 选择所有标签 , * { color: blue; } ; 使用该 选择器 会降低 页面的 打开速度 , 如果没有特殊情况 , 不推荐使用 ;


2、CSS 复合选择器


后代选择器

后代选择器 可以选择 子元素 , 孙子元素 , 不限制选择层数深度 ;

后代选择器 可用于 选择 基础选择器选择出的元素组 中的 另外基础选择器选择出的元素组 ;

后代选择器 语法 : 父选择器 和 子选择器 都是 CSS 基础选择器 , 父选择器 和 子选择器 之间 使用空格分开 ;

父选择器 子选择器 {属性名称1:属性值1;属性名称2:属性值2;属性名称3:属性值3;
}

子元素选择器

子元素选择器 只能 选择亲儿子元素 , 不能选择 孙子元素 ;

子元素选择器 可以 选择 某个基础选择器 选择出的 元素组 的 直接子元素 ( 亲儿子元素 ) 中 使用基础选择器 选择 元素 ;

子元素选择器语法 : 父选择器 写在前面 , 子选择器 写在后面 , 两个选择器之间使用 > 大于号隔开 ;

父选择器>子选择器 {属性名称1:属性值1;
}

交集选择器

交集选择器 由 两个 基础选择器 组成 , 目的是 选择出 同时满足 两个 基础选择器 要求的标签 ;

交集选择器语法 : 两个基础选择器之间没有空格 ;

基础选择器1基础选择器2 {属性名称1:属性值1;
}

并集选择器

并集选择器 可以 选择 若干 基础选择器 选择出的 并集元素集合 ;

并集选择器语法 : 若干 基础选择器 可以写在一起 , 基础选择器之间使用 , 逗号隔开 ;

基础选择器1,基础选择器2,基础选择器3 {属性名称1:属性值1;
}

链接伪类选择器

链接伪类选择器 可以 设置 链接文本 的 不同状态的样式 :

  • 未访问链接样式 : 默认的样式 , 界面打开后 , 默认显示该样式 ;
a:link {属性名称:属性值;
}
  • 已访问链接样式 : 点击过的链接 , 链接变成该样式 ;
a:visited {属性名称:属性值;
}
  • 鼠标移动到链接样式 : 鼠标移动到 链接 上方 , 链接变成该样式 ;
a:hover {属性名称:属性值;
}
  • 选定链接样式 : 按下鼠标松开时 , 变成该样式 ;
a:active {属性名称:属性值;
}

注意 :

  • 顺序必须严格遵守 LVHA 次序 : 使用 链接伪类选择器 时 , 四种选择器必须按照上述顺序 , 如果顺序颠倒会出现错误 ;
  • 实际用法 : 在实际开发时 , 一般只需要设置 a:hover 鼠标经过的样式 , 其它的三种不需要设置 , 不常用 ;

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

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

相关文章

Odps执行SQL报错,提示Please set odps.sql.type.system.odps2=true to use it.

Odps执行SQL报错&#xff0c;提示Please set odps.sql.type.system.odps2true to use it.或提示Please add put { "odps.sql.submit.mode" : "script"} for multi-statement query in settings的解决方案 odps错误信息 AnonymousSQLTask--ODPS-0130071:[…

Windows中毒应急方式

一、检查系统账号安全 1、查看服务器是否有弱口令、可疑账号、隐藏账号、克隆账号、远程管理端口是否对公网开放。 2、WinR 打开运行&#xff0c;输入“eventvwr.msc”打开操作系统日志&#xff0c;查看管理员登录时间、用户名是否存在异常 二、检查异常端口、进程 1、使用 …

代码随想录Day39:不同路径、不同路径 II、整数拆分

不同路径 class Solution { public:/*动态规划五部曲&#xff1a;1、确定dp数组以及下标的含义&#xff1a;dp[i][j]&#xff0c;到dp[i][j]位置上的不同路径数量&#xff1b;2、确定递推公式:每次可由上边或者左边的位置移动而来&#xff0c;所以dp[i][j] dp[i-1][j] dp[i]…

8. Go实现Gin服务优雅关机与重启

文章目录 优雅关机优雅重启 无论是优雅关机还是优雅重启归根结底都是通过监听特定系统信号&#xff0c;然后执行一定的逻辑处理保障当前系统正在处理的请求被正常处理后再关闭当前进程。 优雅关机 优雅关机就是服务端关机命令发出后不是立即关机&#xff0c;而是等待当前还在…

Day37 socket、TCP、UDP

socket类型 流式套接字(SOCK_STREAM) TCP 提供了一个面向连接、可靠的数据传输服务&#xff0c;数据无差错、无重复的发送且按发送顺序接收。内设置流量控制&#xff0c;避免数据流淹没慢的接收方。数据被看作是字节流&#xff0c;无长度限制。 数据报套接字(SOCK_DGRAM) UD…

【设计模式 04】建造者模式

如果要构建的对象很复杂&#xff0c;那么可以将整个构建过程拆分成多个步骤&#xff0c;并为每一个步骤定义一个抽象的接口。并添加一个指导者用来控制构建产品的顺序和步骤。 Java实现&#xff1a; // 产品类 class Product {private String part1;private String part2;pub…

Node.js 最佳实践:改善你的应用程序设计 | 开源日报 No.191

goldbergyoni/nodebestpractices Stars: 92.4k License: CC-BY-SA-4.0 Node.js Best Practices 是一个关于 Node.js 最佳实践的开源项目。该项目汇总了许多顶级内容&#xff0c;包括 80 多个最佳实践、样式指南和架构技巧。以下是该项目的核心优势和主要功能&#xff1a; 提供…

每日一题-合成两个有序链表

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 以上是题目信息&#xff1a; 下面是解答过程 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ typedef struct Lis…

Redis6 搭建主从集群架构

文章目录 搭建Redis主从集群架构1.集群结构2.准备实例和配置3.启动4.开启主从关系5.测试 搭建Redis主从集群架构 安装部署单机版Redis6可参考&#xff1a; 安装部署单机版Redis6 1.集群结构 我们搭建的主从集群结构如图&#xff1a; 我们计划是在一台虚拟机里去部署三个R…

腾讯云轻量服务器Windows系统使用IIS实现公网直链访问文件

windows方便所以服务器装的windows系统&#xff0c;windows默认不能分享文件直链&#xff0c;只要用IIS建个站点就行了 先弄一台有公网ip的windows系统服务器打开服务器管理器&#xff0c;添加这个 打开IIS右键添加网站 程序池默认&#xff0c;路径选个文件夹作为网站根目录 …

HSRP和VRRP

VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由器冗余协议&#xff09; 是一种网络层的容错协议&#xff0c;主要用于在多台路由器之间提供默认网关冗余。在IP网络中&#xff0c;当一个子网有多个路由器时&#xff0c;VRRP可以确保在主用路由器失效…

css3中nth-child属性作用及用法剖析

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 标题&#xff1a;CSS3中nth-child属性作用及用法剖析 摘要&#xff1a;CSS3中的nth-child选择器允许我们根据元素位置来定位特定的元素…

JAVA开发第一个Springboot WebApi项目

一、创建项目 1、用IDEA新建一个SpringBoot项目 注意JDK与Java版本的匹配 2、添加依赖 (1)、Lombok (2)、Spring Web (3)、Mybatis Framework (4)、MySqlDriver 项目中的配置 pom.xml 如下 <?xml version="1.0" encoding="UTF-8"?> …

详解 QT 多线程 TCP 文件接收实例

要求&#xff1a;在QT程序中写一个多线程的软件&#xff0c;使用共享内存实现TCP数据接收&#xff0c;发送与处理&#xff0c;三个不同进程间的相互通信&#xff0c;并使用哨兵线程监控各个进程是否出现堵塞。 分析&#xff1a;在 Qt 程序中实现多线程的软件&#xff0c;使用共…

Idea 开启热部署 Devtools

一、背景 当我们在 idea 中修改代码的时候&#xff0c;idea 并不会自动的重启去响应我们修改的内容&#xff0c;而是需要我们手动的重新启动项目才可以生效&#xff0c;这个是非常不方便&#xff0c;但是可以在 idea 中开启这个自动热部署的功能。 我的 idea 版本为 2022.3.3 。…

Spring MVC RequestMappingHandlerMapping原理解析

在Spring MVC框架中&#xff0c;路由机制是实现HTTP请求到具体处理器方法映射的核心。RequestMappingHandlerMapping是Spring MVC中用于处理此类映射的核心组件。与SimpleUrlHandlerMapping不同&#xff0c;RequestMappingHandlerMapping是基于注解驱动的&#xff0c;它利用Req…

C++STL【list链表】

list 1. list介绍 list文档&#xff08;非官方&#xff09; 官方文档list是双向带头循环链表&#xff0c;它可以在常数范围内的任意位置进行插入和删除操作。list的迭代器是双向迭代器(bidirectional iterator)&#xff0c;它可以前后双向迭代。 由容器的底层结构决定&#xf…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之RowSplit容器组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、RowSplit容器组件 将子组件横向布局&#xff0c;并在每个子组件之间插入一…

数据处理分类、数据仓库产生原因

个人看书学习心得及日常复习思考记录&#xff0c;个人随笔。 数据处理分类 操作型数据处理&#xff08;基础&#xff09; 操作型数据处理主要完成数据的收集、整理、存储、查询和增删改操作等&#xff0c;主要由一般工作人员和基层管理人员完成。 联机事务处理系统&#xff…

Spring MVC HandlerMethodArgumentResolver原理解析

在Spring MVC框架中&#xff0c;HandlerMethodArgumentResolver接口扮演着非常重要的角色。它负责解析请求中的参数&#xff0c;并将其转换为处理器方法所需要的参数值。这种解析过程确保了HTTP请求的参数能够被正确地传递给后端控制器&#xff0c;从而实现请求到处理器方法的绑…