css中:first-child
类别:Web前端 浏览量:1506
时间:2015-6-9 css中:first-child
css中:first-child一、css中:first-child的理解
:first-child 伪类向元素的第一个子元素添加样式,利用 :first-child 这个伪类,只有当元素是另一个元素的第一个子元素时才能匹配。
例如
E:first-child 正确的理解应该是:只要E元素是它的父级的第一个子元素,就选中。它需要同时满足两个条件,一个是“第一个子元素”,另一个是“这个子元素刚好是E”。
实例1
<style>
span:first-child{color: red;}
p:first-child{color: blue;} /*p元素的父元素的第一个子元素是li而不是p元素,因此该样式不起作用*/
i:first-child{color: orange;}
</style>
<li class="demo">
<li>.demo的第一个子元素是li</li>
<!--第一个span元素是它的父级P元素的第一个span,颜色变红色-->
<p><span>第一个span</span>第一个段落P<span>第二个span</span></p>
<!--第一个i元素是它的父级a元素的第一个i,颜色变橙色-->
<p>一个链接<i>第一个i元素</i></p>
<!--第二个i元素是它的父级a元素的第一个i,颜色变橙色-->
<p>一个链接<i>第二个i元素</i></p>
<p>一个链接</p>
</li>
效果:
实例2、匹配第一个 <p> 元素
<style type="text/css">
p:first-child
{
font-weight:bold
}
</style>
<p>I am a <em>strong</em> man. I am a <em>strong</em> man.</p>
<p>I am a <em>strong</em> man. I am a <em>strong</em> man.</p>
例子3、匹配所有 <p> 元素中的第一个 <em> 元素
<style type="text/css">
p > em:first-child
{
font-weight:bold
}
</style>
<p>I am a <em>strong</em> man. I am a <em>strong</em> man.</p>
<p>I am a <em>strong</em> man. I am a <em>strong</em> man.</p>
例子4、匹配所有第一个子元素 <p> 元素中的所有 <em> 元素
<style type="text/css">
p:first-child em
{
font-weight:bold
}
</style>
<p>I am a <em>strong</em> man. I am a <em>strong</em> man.</p>
<p>I am a <em>strong</em> man. I am a <em>strong</em> man.</p>
例子5
p:first-child 匹配到的是p元素,因为p元素是li的第一个子元素;
h1:first-child 匹配不到任何元素,因为在这里h1是li的第二个子元素,而不是第一个;
span:first-child 匹配不到任何元素,因为在这里两个span元素都不是li的第一个子元素;
:first-child 匹配到的是p元素,因为在这里li的第一个子元素就是p。
二、:first-child常见的误解
1、认为E:first-child选中E元素的第一个子元素,但事实并不是
<!--误解一-->
<style>
li:first-child{color: red;}
</style>
<li class="demo">
<a>一个链接</a>
<a>一个链接</a>
<a>一个链接</a>
<a>一个链接</a>
</li>
效果是这样的:
2、认为E:first-child选中E元素的父元素的第一个E元素,但事实并不是
<!--误解二-->
<style>
li a:first-child{color: red;}
</style>
<li class="demo">
<p>一个段落</p>
<a>一个链接</a>
<a>一个链接</a>
<a>一个链接</a>
<a>一个链接</a>
</li>
效果是这样的:
标签:css
您可能感兴趣
- css3所有动画(CSS3常见动画的实现方式)
- css修饰文本的方法(CSS常用文本样式总结)
- css 模块阴影(CSS 曲线阴影实现的示例代码)
- css3动画时间(css3实现的天气图标动画效果)
- css 宽度继承(CSS样式中大于号的使用及Css中处理继承方法)
- csstable列宽固定(css display table 自适应高度、宽度问题的解决)
- cssdiv垂直居中怎么设置(CSS设置DIV垂直居中的N种方法 兼容IE浏览器)
- css3loading教程(详解纯CSS3制作的20种loading动效)
- css的position属性的属性值(浅谈CSS中的 object-fit 与 object-position的使用)
- css一键布局(css多种方式实现双飞翼布局)
- css3特效旋转菜单(CSS3实现的水平标题菜单)
- 纯css写三角形(老生常谈 使用 CSS 实现三角形的技巧多种方法)
- css3动画效果图(css3实现波纹特效、H5实现动态波浪效果)
- css3旋转立方体效果(利用CSS实现立方体360度旋转效果实例代码)
- css控制滚动条的样式
- 动画用css3还是js(前端制作动画的几种方式css3,js)
- 小说 顾瑾岚拿出一套飞行棋,别说你连飞行棋都不会哦(顾瑾岚拿出一套飞行棋)
- 金品公司 界界乐中秋限定飞行棋礼盒 露营藤篮礼盒全新上市(界界乐中秋限定飞行棋礼盒)
- 必看 8月,相比七夕,更需要注意的是这些事(必看8月相比七夕)
- 8月23日11时16分将迎处暑,逐渐进入气象意义上的秋天(8月23日11时16分将迎处暑)
- 花不语 下 如果重来一次的话,你还会这么选择吗(花不语下如果重来一次的话)
- 城市记忆之上海 最难忘的是老弄堂里的市井味道(城市记忆之上海)
热门推荐
- 如何调试移动网站
- mysql 日期和时间处理函数(MySQL日期与时间函数的使用汇总)
- 微信小程序单选框组件(微信小程序picker多列选择器mode = multiSelector)
- dedecms频道封面不能修改内容(DEDECMS内容页分页过多、过长问题最佳解决方案)
- tomcat原理详解(解析Tomcat架构原理到架构设计)
- css元素最完整表现形式(CSS 伪元素::marker详解)
- 宝塔面板一键部署教程(使用宝塔面板负载均衡插件的心得和解决的方法)
- python处理excel基础教程第3讲(Python Excel处理库openpyxl使用详解)
- phpstudy的mysql无法启动(Windows系统下解决PhPStudy MySQL启动失败问题)
- .NET获取枚举值的描述