• CSS3 选择器


    纪念一次惋惜的面试经历,明明知道但是保守的没有全说出来。。。first face _shp欣

      在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素

    css选择器

      1标签名选择器:如:p{},即直接使用html标签作为选择器,在实际的应用中,我们习惯用它设置标签的一些默认属性或者和后代选择器一起使用;

      2类选择器:如  .polaris();前端开发者最常用。

      特点:(1)可以给不同标签设置同一个类,从而用一条css命令控制几个标签,减少代码量,使页面修改简单,易维护、易改版。

         (2)后台工作人员几乎不会用到有关class的相关设置,不需要跟后台人员之间进行交互;(3)可以通过js等动态改变标签的classname,从而改变整个标签的样式,使前端动态效果实现起来更为容易。

          命名规范:第一个字符不能使用数字,在mozillafirefox中不起作用。

      3id选择器: 如:#polaris();在同一个html文档中不能出现两个相同的id名称,也就是说id具有唯一性。

      4后代选择器:如 .polaris  span  img{},后代选择器实际上是使用多个选择器加上中间的空格来找到具体的要控制的标签。    

      5群组选择器.polaris span img{},实际上是对css的一种简化写法,是把具有相同css样式的不同选择器放在一起,减少代码量。

          "CSS" 列指示该属性是在哪个 CSS 版本中定义的。(CSS1CSS2 还是 CSS3。)

    选择器

    例子

    例子描述

    CSS

    .class

    .intro

    选择 class="intro" 的所有元素。

    1

    #id

    #firstname

    选择 id="firstname" 的所有元素。

    1

    *

    *

    选择所有元素。

    2

    element

    p

    选择所有 <p> 元素。

    1

    element,element

    div,p

    选择所有 <div> 元素和所有 <p> 元素。

    1

    element element

    div p

    选择 <div> 元素内部的所有 <p> 元素。

    1

    element>element

    div>p

    选择父元素为 <div> 元素的所有 <p> 元素。

    2

    element+element

    div+p

    选择紧接在 <div> 元素之后的所有 <p> 元素。

    2

    [attribute]

    [target]

    选择带有 target 属性所有元素。

    2

    [attribute=value]

    [target=_blank]

    选择 target="_blank" 的所有元素。

    2

    [attribute~=value]

    [title~=flower]

    选择 title 属性包含单词 "flower" 的所有元素。

    2

    [attribute|=value]

    [lang|=en]

    选择 lang 属性值以 "en" 开头的所有元素。

    2

    :link

    a:link

    选择所有未被访问的链接。

    1

    :visited

    a:visited

    选择所有已被访问的链接。

    1

    :active

    a:active

    选择活动链接。

    1

    :hover

    a:hover

    选择鼠标指针位于其上的链接。

    1

    :focus

    input:focus

    选择获得焦点的 input 元素。

    2

    :first-letter

    p:first-letter

    选择每个 <p> 元素的首字母。

    1

    :first-line

    p:first-line

    选择每个 <p> 元素的首行。

    1

    :first-child

    p:first-child

    选择属于父元素的第一个子元素的每个 <p> 元素。

    2

    :before

    p:before

    在每个 <p> 元素的内容之前插入内容。

    2

    :after

    p:after

    在每个 <p> 元素的内容之后插入内容。

    2

    :lang(language)

    p:lang(it)

    选择带有以 "it" 开头的 lang 属性值的每个 <p> 元素。

    2

    element1~element2

    p~ul

    选择前面有 <p> 元素的每个 <ul> 元素。

    3

    [attribute^=value]

    a[src^="https"]

    选择其 src 属性值以 "https" 开头的每个 <a> 元素。

    3

    [attribute$=value]

    a[src$=".pdf"]

    选择其 src 属性以 ".pdf" 结尾的所有 <a> 元素。

    3

    [attribute*=value]

    a[src*="abc"]

    选择其 src 属性中包含 "abc" 子串的每个 <a> 元素。

    3

    :first-of-type

    p:first-of-type

    选择属于其父元素的首个 <p> 元素的每个 <p> 元素。

    3

    :last-of-type

    p:last-of-type

    选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

    3

    :only-of-type

    p:only-of-type

    选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

    3

    :only-child

    p:only-child

    选择属于其父元素的唯一子元素的每个 <p> 元素。

    3

    :nth-child(n)

    p:nth-child(2)

    选择属于其父元素的第二个子元素的每个 <p> 元素。

    3

    :nth-last-child(n)

    p:nth-last-child(2)

    同上,从最后一个子元素开始计数。

    3

    :nth-of-type(n)

    p:nth-of-type(2)

    选择属于其父元素第二个 <p> 元素的每个 <p> 元素。

    3

    :nth-last-of-type(n)

    p:nth-last-of-type(2)

    同上,但是从最后一个子元素开始计数。

    3

    :last-child

    p:last-child

    选择属于其父元素最后一个子元素每个 <p> 元素。

    3

    :root

    :root

    选择文档的根元素。

    3

    :empty

    p:empty

    选择没有子元素的每个 <p> 元素(包括文本节点)。

    3

    :target

    #news:target

    选择当前活动的 #news 元素。

    3

    :enabled

    input:enabled

    选择每个启用的 <input> 元素。

    3

    :disabled

    input:disabled

    选择每个禁用的 <input> 元素

    3

    :checked

    input:checked

    选择每个被选中的 <input> 元素。

    3

    :not(selector)

    :not(p)

    选择非 <p> 元素的每个元素。

    3

    ::selection

    ::selection

    选择被用户选取的元素部分。

    3

  • 相关阅读:
    [单链表]链表指针追赶问题
    二叉查找树与平衡二叉树
    二叉树的下一个结点
    fork进程函数总结
    《Effective C++》Item2:尽量以const,enum,inline替换#define
    Hash表的使用
    [数字]整数数字的算法
    算法题:找出整数数组中两个只出现一次的数字
    删除元素的操作
    [Reprinted] 使用Spring Data Redis操作Redis(一) 很全面
  • 原文地址:https://www.cnblogs.com/zjfjava/p/6691579.html
Copyright © 2020-2023  润新知