JavaScript进阶:CSS与XML基础及选择器详解
199 浏览量
更新于2024-08-30
收藏 116KB PDF 举报
"javascript 进阶篇2 CSS XML学习"
这篇内容主要涵盖了JavaScript进阶学习以及CSS和XML的基础知识。在JavaScript部分虽然没有具体展开,但通常进阶篇可能包括更复杂的DOM操作、事件处理、异步编程(如Promise和async/await)、性能优化以及面向对象编程等主题。
在CSS部分,内容提到了CSS(Cascading Style Sheets)的基本概念和语法,它是用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。CSS的核心在于它能够让代码结构清晰,便于维护,并且可以批量设置样式。基本语法包括使用注释、选择符和属性定义样式。选择符的选择方式多样,包括但不限于:
1. 通用选择器 `*`,匹配任何元素。
2. 类型选择器 `E`,如 `div`,匹配指定类型的元素。
3. 后代选择器 `EF`,如 `div p`,匹配在 `div` 元素内的任何 `p` 元素。
4. 子选择器 `E>F`,如 `div > p`,只匹配直接作为 `div` 子元素的 `p`。
5. 首子元素伪类 `E:first-child`,匹配其父元素的第一个子元素 `E`。
6. 链接伪类 `E:link` 和 `E:visited`,分别匹配未访问和已访问的链接。
7. 动态伪类 `E:active`、`E:hover` 和 `E:focus`,在特定用户交互时匹配元素。
8. 语言伪类 `E:lang(c)`,匹配指定语言的元素。
9. 临近选择器 `E+F`,如 `div + p`,匹配紧跟在 `div` 后的 `p` 元素。
10. 属性选择器,如 `E[attr]`、`E[attr="value"]`、`E[attr~="value"]` 和 `E[lang|="value"]`,根据元素属性筛选元素。
11. 类选择器 `E.className` 和 ID 选择器 `E#myid`,通过类名或ID精确选择元素。
CSS的优先级是决定样式应用的关键因素,它由三个部分组成:行内样式(如 `style` 属性)、内部样式表(如 `<style>` 标签)和外部样式表。优先级计算规则是:行内样式权重为1000,ID选择器为100,类选择器、属性选择器和伪类为10,元素选择器和伪元素为1,通用选择器、类型选择器和组合选择器为0。如果有相同权重的规则,后定义的将覆盖先定义的。
至于XML(eXtensible Markup Language),它是一种可扩展标记语言,主要用于存储和传输数据,而非显示数据。XML的设计目标是传输和存储数据,而非显示数据或让数据易于由机器生成。XML的语法规定包括:
1. 标签必须成对出现,如 `<tag>` 和 `</tag>`。
2. 标签名是大小写敏感的。
3. 文档必须有根元素,所有其他元素都嵌套在根元素内。
4. 数据内容必须在标签内,可以用实体引用(如 `&` 代表 `&`)处理特殊字符。
5. XML文档可以包含命名空间,以避免标签名称冲突。
XML常用于创建自定义的数据格式,如配置文件、数据交换格式等,并且可以与XSLT(一种转换XML的样式表语言)结合,用于格式化和呈现XML数据。
在实际应用中,JavaScript、CSS和XML常常一起使用,如通过JavaScript动态操作XML数据并使用CSS美化展示效果。理解这三者的基本原理和用法对于前端开发至关重要。
2020-10-28 上传
2022-08-03 上传
点击了解资源详情
2024-03-29 上传
2020-09-21 上传
2010-09-07 上传
2008-02-20 上传
2023-12-23 上传
2008-08-04 上传
weixin_38742453
- 粉丝: 15
- 资源: 945
最新资源
- faosng,如何查看java源码,java源码学习学校哪家好
- bright_events_react:一个Web应用程序,为事件组织者提供了一个平台来创建和管理不同类型的事件
- 检查你的设备能否升级windows11!
- AboutCode-3.0.0.dev3-py2.py3-none-any.whl.zip
- ufkuIkiKatinaCikaranSeyler:离线信息源
- cody-cli:Web开发环境
- 高动态环境下多普勒频移估计技术研究_杨昂,如何看matlab函数的源码,matlab源码怎么用
- dhis2-user-statistics
- 基于MATLAB的数字带通传输系统仿真实验(BPSK调制与解调)
- 基于ssm+vue无纸化学习平台.zip
- VinylCache2:VinylCache的BackboneJS实现
- frontend-project-lvl3-源码.rar
- 二抽取代码MATLAB-metric-learning-reid:度量学习残数
- 6MiMo,matlab曲柄滑块源码,matlab源码下载
- Python库 | eea.progressbar-6.0.zip
- markdown-split:Markdown的扩展,可将内容拆分为版块页面