JavaScript进阶:CSS与XML基础及选择器详解
58 浏览量
更新于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
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析