css选择器

css选择器

要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。
HTML页面中的元素就是通过CSS选择器进行控制的。

选择器:
  1. *{}通配符:会将页面上所有每一个元素都选到。许多开发者都用它来清空margin和padding。练习的时候使用这个没问题,不建议在生产环境中使用它。它会给浏览器凭添许多不必要的东西。*也可以用来选择某元素的所有子元素。
  2. ID选择器:语法:<div id='top"> #box{width:300px;;}
  3. .类(class)选择器(.myclassname)
  4. 后代选择器 li a{}
  5. 类型选择器 a{}
  6. 伪类选择符 a:hover{}
css3增加的选择器:
属性选择器

1、E[attr]:只使用属性名,但没有确定任何属性值
2、E[attr=“value”]:指定属性名,并指定了该属性的属性值
3、E[attr~=“value”]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”必须的
4、E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的
5、E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的
6、E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value7、E[attr|=“value”]:指定了属性名,并且属性值仅是value或者以“value-”开头的值(比如说left-con)

伪类选择器
  • 结构性伪类选择器
    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)**从最后一个开始算索引。

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:enabled
    匹配所有用户界面(form表单)中处于可用状态的E元素
    E:disabled
    匹配所有用户界面(form表单)中处于不可用状态的E元素
    E:checked
    匹配所有用户界面(form表单)中处于选中状态的元素E
    E::selection
    匹配E元素中被用户选中或处于高亮状态的部分

  • 动态伪类选择器

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

  • 层级选择器
    E>F
    子选择器
    选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
    E+F
    相邻兄弟选择器
    选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面
    E~F
    通用选择器
    选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素

二.权重

css中用四位数字表示权重,
权重的表达方式如:0,0,0,0;
权重规则:HTML标签(类型选择符)的权重是1,class的权重是10,id的权重是100。
类型选择符的权重为0001
class选择符的权重为0010
id选择符的权重为0100
属性选择符的权重为0010
伪类选择符的权重为0010
伪元素(对象)选择符的权重为0001
包含选择符的权重:为包含选择符的权重之和
内联样式的权重为1000
继承样式的权重为0000
群组集合选择符权重为他本身
注:
1.如果权重相同时,则执行后写的样式
2.当设置的样式显示不出时,需考虑权重因素。例,当导航的li都设置margin隔开距离时,要取消最后一个li的margin时,就要考虑权重的问题。可在后写相同的权重或加父元素增加权重。

三,
关于选择器有个小游戏 ↙
http://flukeout.github.io/#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值