css3选择器介绍!

CSS3是css技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。

css3的优点:CSS3将完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。对我们来说,CSS3主要的影响是将可以使用新的可用的选择器和属性,这些会允许实现新的设计效果(譬如动态和渐变),而且可以很简单的设计出现在的设计效果(比如说使用分栏)

概念:

            渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验
             
            优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容
             
        区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。

属性选择器:
E[attr]:查找指定的拥有attr属性的E标签
E[attr=value]:查找指定的拥有attr属性值为value的E标签
E[attr*=value]:查找指定的拥有attr属性值中任意位置包含value的E标签
E[attr^=value]:查找指定的拥有attr属性值以value开头的E标签
E[attr$=value]:查找指定的拥有attr属性值以value结尾的E标签

伪类选择器:
1)结构性伪类选择器
X:first-child 匹配子集的第一个元素。IE7就可以支持
X:last-child 匹配父元素中最后一个X元素
X:nth-child(n) 用于匹配索引值为n的子元素。索引值从1开始
X:only-child 这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。 (唯一的一个子元素)
X:nth-last-child(n) 从最后一个开始算索引。

注:(n) 括号里可以指定参数值,也可以写表达式
如:2n \2n+1 \ odd \even
位置和标签都要匹配上

X:first-of-type 匹配同级(相同的元素)兄弟元素中的第一个X元素
​ X:last-of-type 匹配同级兄弟元素中的最后一个X元素
​ X:nth-of-type(n) 匹配同类型中的第n个同级兄弟元素X
​ X:only-of-type 匹配属于同类型中唯一兄弟元素的X
​ X:nth-last-of-type(n) 匹配同类型中的倒数第n个同级兄弟元素X

:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML
X:empty**匹配没有任何子元素(包括包含文本)的元素X

目标伪类选择器:
E:target 选择匹配E的所有元素,且匹配元素被相关URL指向 (如:锚点链接)

+ 动态伪类选择器
E**:link**
链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上
E**:visited**
链接伪类选择器
选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上
E**:active**
用户行为选择器
选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上
E:hover
用户行为选择器
选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
E:focus
用户行为选择器
选择匹配的E元素,而且匹配元素获取焦点

UI 元素状态伪类选择器
E:enabled
匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled
匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked
匹配所有用户界面(form表单)中处于选中状态的元素E
E::selection
匹配E元素中被用户选中或处于高亮状态的部分

层级选择器

E>F
子选择器
选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
E+F
相邻兄弟选择器(找后面的相邻的第一个同辈元素)
选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面
E~F
通用选择器 (找后面的所有同辈元素)
选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CSS选择权重是用来确定当多个CSS规则应用于同一元素时,哪个规则将具有优先权的一种机制。其中,important是一种特殊的权重,它可以覆盖其他所有权重,使得该规则具有最高的优先级。但是,应该谨慎使用important,因为它可能会导致样式难以维护和修改。 ### 回答2: 在CSS中,选择权重是用于确定样式优先级的一种机制。当多个样式规则应用到同一个元素时,通过权重机制可以确保样式的优先级。 权重由四个不同的组成部分组成,它们分别是: 1. !important:!important是最高优先级的标记,当一个样式规则被标记为!important时,它将覆盖其他所有的样式规则,无论其他规则的权重如何。 2. 内联样式:内联样式是直接应用于HTML元素上的样式,通过在元素的style属性中定义样式规则。它的优先级次于!important标记的规则。 3. ID选择:ID选择是通过HTML元素的id属性来定义的,而且是具有唯一性的。ID选择的优先级高于内联样式。 4. 类选择、伪类选择和属性选择:这些选择通过HTML元素的class、伪类或属性来定义样式规则,它们的优先级低于ID选择。 在权重比较中,如果两个或多个样式规则具有相同的权重,那么后面出现的规则将覆盖前面的规则。例如,如果一个样式规则使用了!important标记,那么无论其他规则的权重如何,它都将具有最高优先级。 总结起来,使用!important会覆盖其他所有规则,内联样式的优先级次于!important,ID选择的优先级高于内联样式,而类选择、伪类选择和属性选择的优先级低于ID选择。 在实际应用中,尽量避免使用!important,以免造成样式优先级混乱。正确地组织和编写样式规则可以使得样式的优先级更加清晰和可维护。 ### 回答3: CSS中的选择权重是用来决定样式的优先级的。它决定了当多个选择同时应用到同一个元素时,哪个样式规则会被优先选择。 !important 是一种特殊的选择权重,用于强制覆盖其他选择的样式规则。当某个样式规则使用了 !important,它将拥有最高的优先级,其他选择无论权重如何,都无法覆盖这个样式规则。 因为 !important 具有最高权重,所以它的使用应该谨慎。过度使用 !important 可能会导致样式失控,且很难维护和调试。应该尽量避免使用 !important,只在确实需要覆盖其他样式时才使用。 当多个选择都使用了 !important,它们的优先级将依次由高到低决定。如果具有相同优先级的选择同时使用了 !important,那么后面出现的样式规则会覆盖前面的样式规则。 除了 !important,CSS中还有其他选择权重的规则。一般来说,选择权重由以下规则决定:标签选择 < 类选择 < ID 选择,同时还有内联样式的权重最高。当相同类型的选择同时应用到元素时,权重高的样式规则将覆盖权重低的样式规则。 总之,选择权重是用来决定样式规则优先级的。 !important 是一种特殊的选择权重,用于强制覆盖其他选择的样式规则。虽然有时候使用 !important 可以解决样式冲突的问题,但应该尽量避免过度使用,以免出现样式失控的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值