第三天 H5进阶
来源:互联网 发布:淘宝名字叫什么好 编辑:程序博客网 时间:2024/06/05 06:05
元素之间的关系
- 父元素 - 直接包含子元素的元素我们称为是父元素- 子元素 - 直接被父元素包含的元素我们称为子元素- 祖先元素 - 直接或间接包含后代元素的元素我们称为祖先元素(父元素也是祖先元素)- 后代元素 - 直接或间接被祖先元素包含的元素我们称为后代元素(子元素也是后代元素)- 兄弟元素 - 拥有相同的父元素的元素称为兄弟元素
body 就是父元素(也是祖先元素)h1和input 都是body的子元素(也是后代元素)h1和input是兄弟元素
选择器
- 后代元素选择器: - 作用:选择指定元素的指定后代元素 - 语法:祖先元素 后代元素 - 例子 选中的就是h1 标签下面的em标签下的元素 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> h1 em{ color: red; } </style> </head> <body> <h1>这是一个 <em>重要</em> 头</h1> <p>这是一个<em>重要</em> 片段</p> </body> </html>
- 子元素选择器: - 作用:选择器指定元素的指定子元素 - 语法:父元素 > 子元素 - 例子:div > p{} - 会选中所有的div的子元素p <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> div > p{ color: red; } </style> </head> <body> <div> <p>这是一个 <em>重要</em> 头</p> <p>这是一个<em>重要</em> 片段</p> </div> </body>
- 兄弟元素选择器:(保证是兄弟) - 作用:选择指定元素的后一个兄弟元素或者后边所有的兄弟元素 - 语法:前一个 + 后一个 - 例子:p + p{} - 选中紧挨着p后边的p元素 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> p + p{ color: red; } </style> </head> <body> <div> <p>这是一个 <em>重要</em> 头</p> <p>这是一个<em>重要</em> 片段</p> </div> </body> </html> - 语法:前一个 ~ 后一个 - 例子: div ~ p {} - 选择div后边所有的p兄弟元素
- 伪类选择器 - 伪类实际是在表示元素正在处于某种状态 - 伪类: :link --> 表示一个正常没有被访问过的链接。 :visited --> 表示访问过的链接 :hover --> 表示鼠标正在滑过的链接 :active --> 鼠标正在点击的链接 :focus --> 表示获取焦点的状态 :after --> 选中元素最后边这部分 :before --> 选中元素最前边这部分 - 使用after和before时,我们可以使用一个content属性,可以向元素中添加一个指定的内容 ::selection --> 表示正在被选中的文字内容 - 注意:火狐中需要使用:::-moz-selection :first-letter --> 选中段落中的第一个字母 :first-line --> 选中段落的第一行 :first-child --> 选中第一个子元素 例子: p:first-child{} - 选中页面中的所有第一个子元素p - 这里指的子元素,指的是在父元素中的所有子元素进行排序 :last-child - 选中页面中最后一个子元素 :nth-child - 选中页面中指定位置的子元素 - 例子:p:nth-child(3){} - 找到p元素同时p元素是其父元素的第三个子元素 - 可以在nth-child中传递一个even或odd作为位置,这样可以选中页面中偶数或奇数位置的子元素 :first-of-type :last-of-type :nth-of-type - 上边三个伪类和first-child last-child类似 只不过它们的排序只按照同一个元素进行排序 :not() - 否定伪类可以将一些元素剔除出去 - 例子:p:not(.p1) - 选中所有的p元素,除了class属性值为p1 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> a:link{color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问的链接 */ a:hover {color: #FF00FF} /* 鼠标移动到链接上 */ a:active {color: #0000FF} /* 选定的链接 */ </style> </head> <body> <a href="www.baidu.com">网站</a> </body> </html> 提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。 提示:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。 提示:伪类名称对大小写不敏感。
- 属性选择器: - 可以根据元素的属性值去选择元素 - 语法: 1.[属性名] - 选中含有指定属性的元素 2.[属性名=属性值] - 选中属性名等于指定属性值的元素 3.[属性名^=属性值] - 选中属性值以指定内容开头的元素 4.[属性名$=属性值] - 选中属性值以指定内容结尾的元素 5.[属性名*=属性值] - 选中属性值中包含指定内容的元素<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> [id]{ color: red;} </style> </head> <body> <p id="12">我是一个兵</p> </body></html>
样式的继承
- 在CSS中,祖先元素的样式会同时设置到后代元素上,这一特性我们称为是样式的继承。- 所以基于该特定,当有一些样式我们需要为很多元素设置时,我们不用一个一个设置, 可以直接将该样式设置给他们的祖先元素,这一样式会自动应用他们身上。 - 但是,并不是所有的样式都会继承,比如:背景相关的样式都不会继承!- 继承来的样式没有优先级!
选择器的优先级(权重)
- 当我们为一个元素同时设置多个相同的样式时,这里就会有一个优先级的问题 这么多的样式我们到底要应用那个样式,由选择器的优先级决定。- 优先级的排序: 1.!important --> 如果为一个样式添加了一个important,则该样式会优先于所有的样式显示! 2.内联样式 --> 优先级是 1000 3.id选择器 --> 优先级是 100 4.类和伪类选择器 --> 优先级 10 5.元素选择器 --> 优先级 1 6.通配选择器(*) --> 优先级 0 7.继承的样式 --> 没有优先级- 当使用不同的选择器设置相同的样式时,需要根据选择器的优先级来决定应用那个样式, 它需要将所有的选择器的优先级相加,然后比较,优先级大的优先显示。 如果优先级相同,则使用靠后的样式。- 注意:优先级的相加不会超过选择器的最大数量级!
1 0
- 第三天 H5进阶
- 第十三天H5进阶
- 第二十三天H5进阶
- 第五天H5进阶
- 第七天H5进阶
- 第八天H5进阶
- 第九天H5进阶
- 第十四天H5进阶
- 学习前端第三天--JS进阶
- ui进阶第三天,私人通讯录的创建(元宵节快乐)
- Java进阶学习第三天——Js对象
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 如何避免SSH Secure Shell Client连接Linux超时,自动断开?
- 编程实现strcpy和memcpy函数
- android经常性错误解决
- python if判断
- 或许是_2017年_最新的_ngx_pagespeed_安装姿势
- 第三天 H5进阶
- 细粒度图像识别文章 Picking Deep Filter Responses for Fine-grained Image Recognition 阅读笔记
- 解决android libcore局部编译时`out/target/common/obj/JAVA_LIBRARIES/sqlite-jdbc_intermediates/javalib.jar'
- 静态与动态apk overlay 机制
- linux面试题
- Awesome SAR
- gitlab集成ldap配置
- Select查询语句详解(MySQL)
- java的方法锁、对象锁以及类锁的区别