css选择器

0.通配符选择器:*
说明: 该选择器可以与任何元素匹配
* {color:red;}

1.标签选择器[元素选择器]:
说明: 使用元素名来设置样式
div
  {
  color:#ff0000;
  }


2.分组选择器:
说明:逗号分隔的元素都会被设置css样式
  div,p,ul,input   {    color:#ff0000;   }


3.派生选择器[后代选择器]:
说明:
  li strong {    font-style: italic;    font-weight: normal;   }


4.子元素选择器,只能选择某元素子元素的元素
h1 > strong {color:red;}


5.相邻兄弟元素选择器,可选择紧接在另一元素后的元素,且二者有相同父元素
  h1 + p {margin-top:50px;}


6.普通兄弟选择器,匹配的元素在指定元素之后,但不一定相邻
div~p{color:red}

7.id选择器:已#来定义
说明: 使用元素中定义的id属性值来设置样式
  #id_name
  {
   color:#ff0000;
  }
  #id_name div
  {
   color:#ff0000;
  }
  div #id_name
  {
   color:#ff0000;
  }

8.类选择器:用.来显示
说明: 使用元素中定义的class的类名来设置样式
  .class_name
  {
   color:#ff0000;
  }
  
(1) 选择器现在会匹配 class 属性包含 class_name 的所有 p 元素,但是其他任何类型的元素都不匹配,不论是否有此 class 属性
p.class_name
{
color:#ff0000;
}

(2) 多类选择器
两个类选择器链接在一起,仅可以选择同事包含这些类名的元素(类名的顺序不限)
<p class="important warning"> This paragraph is a very important warning. </p>
.important {font-weight:bold;}
.warning {font-style:italic;}
.important.warning{background:silver;}


9.属性选择器: 可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性
注释:只有在规定了 !DOCTYPE 时,IE7 和 IE8 才支持属性选择器。在 IE6 及更低的版本中,不支持属性选择。
  自定义属性也可以设置。

  (1) 为带有 title 属性的所有元素设置样式:
  [title]
  {
   color:#ff0000;
  }

(2) 多个属性选择器,只需将属性选择器链接在一起即可
例如,为了将同时有 href 和 title 属性的 HTML 超链接的文本设置为红色,可以这样写:
a[href][title]
{
color:red;
}

  (3) 为 title="W3School" 的所有元素设置样式,属性与属性值必须完全匹配
  [title=W3School]   {    border:5px solid blue;   }

  (4) 部分属性值选择,如果需要根据属性值中的词列表的某个词进行选择,则需要使用波浪号(~)
属性和值的选择器-多个值: 包含指定值的 title 属性的所有元素设置样式。适用于由空格分隔的属性值
  [title~=hello]
  {
   color:red;
  }
  <h2 title="hello world">Hello world</h2>
  <p title="student hello">Hello W3School students!</h1>
  <h2 title="world" val='hello'>Hello world</h2>
  <p title="student">Hello W3School students!</p>
  (5)为带有包含指定值的 lang 属性的所有元素设置样式。适用于由连字符分隔的属性值
  [lang|=en]
  {
   color:red;
  }
  <p lang="en">Hello!</p>
  <p lang="en-us">Hi!</p>
  <p lang="us">Hi!</p>
  <p lang="zh">Hao!</p>


类型描述
[abc^="def"] 选择 abc 属性值以 "def" 开头的所有元素
[abc$="def"] 选择 abc 属性值以 "def" 结尾的所有元素
[abc*="def"] 选择 abc 属性值中包含子串 "def" 的所有元素

选择器描述
[attribute] 用于选取带有指定属性的元素。
[attribute=value] 用于选取带有指定属性和值的元素。
[attribute~=value] 用于选取属性值中包含指定词汇的元素。
[attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
[attribute^=value] 匹配属性值以指定值开头的每个元素。
[attribute$=value] 匹配属性值以指定值结尾的每个元素。
[attribute*=value] 匹配属性值中包含指定值的每个元素。


10.伪类选择器:
语法: selector : pseudo-class {property: value} 或者css类与伪类选择器搭配 selector.class : pseudo-class {property: value}
    (1) 例如: 
a:link {color: #FF0000} /* 未访问的链接 */
     a:visited {color: #00FF00} /* 已访问的链接 */
     a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
a:active {color: #0000FF} /* 选定的链接 */

伪类与css类配合使用:
a.red : visited {color: #FF0000}
<a class="red" href="css_syntax.asp">CSS Syntax</a>


(2) :first-child 伪类
说明: 选择某元素的第一个子元素
例如: p:first-child{ color:red; } 第一个规则将作为某元素第一个子元素的所有 p 元素设置为红色字体 ,[是选择某元素的第一个子元素为p元素,如果第一子元素不是p,其他子元素是p元素,也不会选中]

(3) :lang 伪类使你有能力为不同的语言定义特殊的规则。 简单理解就是在元素所在的范围加上指定的字符,类似插入字符功能。
    <style type="text/css">
q:lang(no)
{
quotes: "+" "+";
}

</style>
<p>文字<q lang="no">段落中的引用的文字</q>文字</p>

显示效果: 文字+段落中的引用的文字+文字
 
属性描述CSS
:active 向被激活的元素添加样式。 1
:focus 向拥有键盘输入焦点的元素添加样式。 2
:hover 当鼠标悬浮在元素上方时,向元素添加样式。 1
:link 向未被访问的链接添加样式。 1
:visited 向已被访问的链接添加样式。 1
:first-child 向元素的第一个子元素添加样式。 2
:lang 向带有指定 lang 属性的元素添加样式。  


  11.伪元素选择器
      (1) :first-line 伪元素,  用于向文本的首行设置特殊样式
        注释:":first-line" 伪元素只能用于块级元素。
        例如: p:first-line { color:#ff0000; }   只会将p元素第一行文本设置样式

(2) :first-letter 伪元素,用于向文本的首字母设置样式
例如: p:first-letter {color:#ff0000;} 只会将p元素的首字母设置样式

(3) :before 伪元素,可以在元素的内容前面插入新内容
例如: h1:before { content:url(logo.gif); } 在每个 <h1> 元素前面插入一幅图片

(4) :after 伪元素, 可以在元素的内容之后插入新内容
例如: h1:after { content:url(logo.gif); } 在每个 <h1> 元素后面插入一幅图片


属性描述CSS
:first-letter 向文本的第一个字母添加特殊样式。 1
:first-line 向文本的首行添加特殊样式。 1
:before 在元素之前添加内容。 2
:after 在元素之后添加内容。 2




原文地址:https://www.cnblogs.com/wind-wang/p/5981272.html