CSS3复杂选择器

复杂选择器:

兄弟选择器

  • 相邻兄弟选择器:同一父元素下,指定元素的下一个兄弟元素;

  结合符是“+”;

  • 通用兄弟选择器:同一父元素下,指定元素后面的所有兄弟元素;

  结合符是“~”;

属性选择器

  • [id]:         所有声明了id属性的元素
  • p[id]:        所有声明了id属性的p元素
  • p[id][class]: 所有既声明id属性、同时又声明了class属性的p元素
  • p[class=…]:  class属性为指定值的p元素(该元素class的值只有这一个)
  • p[class ~=…]:class属性包含指定值的p元素(该元素class的值不止一个)
  • p[id ^=…]:   id属性值以指定字符开始的p元素
  • p[id $=…]:   id属性值以指定字符结束的p元素
  • p[id *=…]:   id属性值包含指定字符串的p元素
  • p[id !=…]:   id属性值不等于指定字符串的p元素

伪类选择器

  • 更改元素的不同状态的样式

ü  :hover     鼠标移上去时的样式

ü  :active    激活时的样式

ü  :link      尚未访问过的样式

ü  :visited   访问过的样式

  • 目标伪类

ü  突出显示活动的html锚,用于获取当前的目标元素

ü  语法:   :target     跳转到锚点时,该锚点的状态

ü  当元素被隐藏、激活时才显示,这是不要用<a name=””>来定义锚点,直接给目标元素id属性值,然后<a href=”# ” />指向该id属性值的目标元素

  • 元素状态伪类

ü  主要用于表单,匹配元素的禁用、启用和选中状态

ü  常用的状态伪类

① :disabled    匹配每个被禁用的元素

② :enabled     匹配每个被启用的元素

③ :checked     匹配每个被选中的元素

  • 结构伪类:从元素的层级结构来划分

ü  :first-child      匹配第一个子元素

ü  :last-child       匹配最后一个子元素

ü  :empty            匹配没有子元素、没有文本的空元素

ü  :only-child       匹配父元素的唯一子元素

  • 否定伪类:匹配指定元素之外的每个元素(排除指定元素)

ü  语法:      :not( )

ü  例:input[type=text]        :type是text的input元素

               input:not([type=text] )  :type不是text的input元素

ü  例:div:first-child         :作为第一个子元素的div

           div:not(:first-child)    :同一父层元素下,除了第一个div                                          之外的所有div(平级)

伪元素选择器:针对元素中的文本内容进行匹配

  • :first-letter     选定指定元素的首字符

例:p:first-letter{ } 多用于排版,首字符突出显示

  • :first-line       选取指定元素的首行文本(网页中的首行)
  • ::selection       匹配用户选取的部分
posted @ 2021-01-17 14:18  泷剑主1992  阅读(120)  评论(0)    收藏  举报