2019-05-18 CSS3基本选择器

基本选择器

1.子元素选择器
父元素 > 子元素

只能选择某个元素的指定子元素,兼容ie8以上的所有浏览器
例:

style是:section > div{ color:red;}

<section>
  <div>section的子div</div>
  <article>
    <div>section的孙div</div>
  </article>
</section>

页面中会显示section的子div字体变红。

2.相邻元素选择器
元素 + 相邻一个兄弟元素

可以选择 紧接 元素后的兄弟元素 ,ie8以上兼容

style是:section > div + article{ color:red;}

<section>
  <div>section的子div</div>
  <article>
    <div>section的孙1div</div>
  </article>
  <article>
    <div>section的孙2div</div>
  </article>
</section>

页面中会显示section的孙1div字体变红。

3.通用兄弟选择器
元素 ~ 所有相邻兄弟元素

可以选择 紧接 元素后的 所有 兄弟元素 ,ie8以上兼容

style是:section > div ~ article{ color:red;}

<section>
  <div>section的子div</div>
  <article>
    <div>section的孙1div</div>
  </article>
  <article>
    <div>section的孙2div</div>
  </article>
</section>

页面中会显示section的孙1div section的孙2div 字体变红。

4.群组选择器
元素1,元素2,元素3...元素n(样式)

将具有相同样式的元素分组在一起,ie6以上兼容

5.属性选择器
标签名[属性名]

将所有有对应 属性名 的标签选择出来,ie8以上兼容

style是:a[href]{text-decoration:none;}

<a href="#">这是一个链接</a>
<a>这是一个a标签</a>

页面上会显示 这是一个链接 没有下划线

标签名[属性名="值"]

将所有有对应属性名的 值 的标签选择出来,ie8以上兼容

style是:a[href="attribute.html"]{text-decoration:none;}

<a href="attribute.html">这是一个链接</a>
<a href="#">这是一个a标签</a>

页面上会显示 这是一个链接 没有下划线

标签名[属性名~="值"]

将所有有对应属性名 包含 值 的标签选择出来,ie8以上兼容

style是:a[class~="two"]{text-decoration:none;}

<a href="attribute.html">这是一个链接</a>
<a href="#" class="one two">这是一个a标签</a>
<a href="#1" class="two three">这是一个a标签</a>

页面上会显示所有的 这是一个a标签 没有下划线

标签名[属性名^="值"]

将所有有对应属性名 以值 开头 的所有标签选择出来,ie8以上兼容

标签名[属性名$="值"]

将所有有对应属性名 以值 结尾 的所有标签选择出来,ie8以上兼容

标签名[属性名*="值"]

将所有有对应属性名 value里 包含 值 的所有标签选择出来,ie8以上兼容

标签名[属性名|="value"]

将所有有对应属性名 值 是value 或者是以 value- 开头 的所有标签选择出来,ie8以上兼容

6.伪类选择器
attribute : focus

获取光标时发生

attribute : enabled

可输入,ie9以上能兼容

attribute : disabled

不可输入,ie9以上能兼容

attribute : checked

单选框和复选框中的选中,ie9以上能兼容

element:first-child

指定属于其父元素的第一个子元素的element元素,ie8以上兼容

element:last-child

指定属于其父元素的最后一个子元素的element元素,ie8以上兼容

element:nth-child(N)

匹配属于其父元素的第N个子元素,不论元素类型,ie9以上兼容
N其实是一个表达式,意味着1-N
odd奇数,even偶数

element:nth-last-child(N)

从最后一个元素开始数的相对于最后一个元素的第N个元素,兼容ie9以上浏览器,不论元素类型

element:nth-last-type(N)

这个是指定元素类型的倒数第N个元素

element:only-child

选择器元素匹配他父元素的唯一子元素的每个元素,兼容ie9以上

element:only-of-type

选择器元素匹配他父元素特定类型的唯一子元素的每个元素,兼容ie9以上

element:empty

匹配没有子元素的每个元素(包括文本节点),兼容ie9以上

:not

否定选择器
匹配非指定元素的每个元素,ie9以上
父元素: not (子元素/子选择器)

伪元素

css伪元素用于向某些选择器设置特殊效果,ie9以上兼容

元素::伪元素
元素::first-line

根据first-line伪元素中的样式,对元素的第一行文本进行格式化。
注:只适用于块级元素。

元素::first-letter

用于文本首字母进行设置特殊样式。
注:只适用块级元素。

元素::before

在元素内容前面插入新内容
常与:content 配合使用
特点:1,第一个子元素2,行级元素3,通过content插入

元素::after

在元素内容后面插入新内容
常与:content 配合使用,清除浮动
特点:1,最后一个子元素2,行级元素3,通过content插入

元素::selection

用于鼠标选中文本内容的样式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,770评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  •   尽管 DOM 作为 API 已经非常完善了,但为了实现更过的功能,仍然会有一些标准或专有的扩展。   2008...
    霜天晓阅读 449评论 0 0
  • 一、基本选择器 回顾选择器 通配符选择器、元素选择器、类选择器、ID选择器、后代选择器 新增基本选择器 子元素选择...
    越IT阅读 1,208评论 0 3
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,716评论 0 7