我想实现的效果:将第一个article字体颜色设置为红色

1
2
3
4
5
6
<div?
<h1>logo</h1>
<article>article1</article>
<article>article2</article>
<article>article3</article>
</div
first-child

匹配某父元素的第一个子元素,可以说是结构上的第一个子元素。

用 first-child 不能实现想要的效果

1
2
article:first-child {
color: red;}

原因:
使用:first-child伪类时一定要保证指定节点前面没有兄弟节点,在这里,把h1去掉;或者用一个div包住article,然后css:div article:first-child就可以了

first-of-type

匹配某父元素下相同类型子元素中的第一个

1
大专栏  first-child和first-of-type class="line">2
3
article:first-of-type {
color: red;
}

可以实现想要的效果

详解
1
2
3
4
5
6
<div>
<h1>CSS学习</h1>
<p>CSS学习</p>
<article>CSS学习</article>
<article>CSS学习</article>
</div>

1、first-child
h1:first-child 匹配到的是h1元素,因为h1元素是div的第一个子元素;

p:first-child 匹配不到任何元素,因为在这里p是div的第二个子元素,而不是第一个;

article:first-child 匹配不到任何元素,因为在这里两个article元素都不是div的第一个子元素;

2、first-of-type
h1:first-of-type 匹配到的是h1元素,因为h1是div的所有类型为h1的子元素中的第一个;

p:first-of-type 匹配到的是p元素,因为p是div的所有类型为p的子元素中的第一个;

article:first-of-type 匹配到的是第三个子元素article。这里div有两个为article的子元素,匹配到的是它们中的第一个。

first-child和first-of-type的更多相关文章

  1. 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)

    前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...

  2. DOM0,DOM2,DOM3 事件基础知识

    事件是javascript和HTML交互基础, 任何文档或者浏览器窗口发生的交互, 都要通过绑定事件进行交互; 事件有DOM0, DOM2和DOM3的区分(别问我怎么少了一个DOM1, 也没找到DOM ...

  3. WaitType:CXPACKET

    CXPACKET 等待类型是SQL Server 并发执行一个query时产生的.在run一个big query时,SQL Server充分利用系统的所有资源(CPU,Memory,IO),在最短时间 ...

  4. 计算程序总行数的Python代码

    最近需要统计一下项目中代码的总行数,写了一个Python小程序,不得不说Python是多么的简洁,如果用Java写至少是现在代码的2倍. import os path="/Users/ron ...

  5. javascript中的一些核心知识点以及需要注意的地方

    前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...

  6. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  7. Python的平凡之路(15)

    一.CSS补充: 1. 上节课讲述 a.css重用               <style>            如果整个页面的宽度 > 900px时:            { ...

  8. java对xml文件的读取

    <?xml version="1.0" encoding="UTF-8"?> <body> <names type="1 ...

  9. 8.4.2 Fresco

    Fresco是Facebook公司的黑科技:http://fresco-cn.org/ 真三级缓存,变换后的BItmap(内存),变换前的原始图片(内存),硬盘缓存.在内存管理上做到了极致.对于重度图 ...

  10. 【探讨】javascript事件机制底层实现原理

    前言 又到了扯淡时间了,我最近在思考javascript事件机制底层的实现,但是暂时没有勇气去看chrome源码,所以今天我来猜测一把 我们今天来猜一猜,探讨探讨,javascript底层事件机制是如 ...

随机推荐

  1. 6)PHP,预定义变量

    预定义变量也叫超全局变量: :预定义变量又叫超全局变量,包括: $_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION, . ...

  2. SQLite-外键约束/表链接查询

    外键约束: 表一的某个字段关联到表二的某个字段 例子: 国家表:t_country

  3. mysql之存储过程(三)

    带参数的存储过程: 特别说明: 在游标中是不支持对形参的判断的,外部可以 调用操作: call settlexxxxx_common("1970-11",999); 定义如下:   ...

  4. vim的背景配置

    1.vim背景颜色的配置 在usr/share/vim/vim74/colors   目录下有可以配置的颜色方案,可以查看: 命令:vim/etc/vimrc 打开vim的配置文件,   在最后加入一 ...

  5. NOIP 2004 T3 合唱队形(DP、最长上升/下降子序列)

    链接:https://ac.nowcoder.com/acm/contest/1082/C来源:牛客网 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队 ...

  6. getWeekDay TimeUtil

    package me.zhengjie.common.utils; import java.util.Calendar; import java.util.Date; /** * @author ji ...

  7. 吴裕雄--天生自然python Google深度学习框架:TensorFlow实现神经网络

    http://playground.tensorflow.org/

  8. 简化Java编程的法宝,让工作更高效

    如果你没有看过之前的文章,也不要紧,这并不影响你对接下来的内容的理解,不过为了照顾直接看到第二篇的同学,还是有必要介绍一下HuTool的引入方式. 在项目的pom.xml的dependencies中加 ...

  9. Python迭代器和关键字 global ,nonlocal

    1.关键字 global : 可以修改全局变量 可以在局部作用域声明一个全局变量,剪切 : 此时局部作用域没有该变量,全局作用域中有 name = 1 def func(): global name ...

  10. PXE自动部署工具

    1.工具介绍1.1::本工具主要以图形界面的方式帮助使用者快速部署PXE安装Linux的基础环境环境,(如不需要可忽略相关操作)并且支持自动配置静态IP地址和为H3C设备划分VLAN. 1.2::对于 ...