分享更有价值
被信任是一种快乐

css3的伪类和伪元素的区别有哪些

文章页正文上

本篇内容主要讲解“css3的伪类和伪元素的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3的伪类和伪元素的区别有哪些”吧! 区别:1、伪类用于已有元素处于某种状态时为其添加对应的样式,而伪元素用于创建一些不在DOM树中的元素并为其添加样式;2、伪元素会创建一个文档树之外的元素,伪类不会;3、伪元素使用双冒号“::”表示,伪类使用单冒号“:”表示。本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
什么是伪类和伪元素提到“伪”字,你想到了什么?“假的”,“汪精卫伪政府”,“不存在的”伪类:用于已有元素处于某种状态时(滑动、点击等)为其添加对应的样式,这个状态是根据用户行为而动态变化的。我的理解就是:本身不存在,只有在特定的情况(滑动、点击)下才会被触发的状态,可以用css去修饰这个状态下的对象。例如:当用户悬停在指定元素时,可以通过:hover来描述这个元素的状态,虽然它和一般css相似,可以为已有元素添加样式,但是它只有处于DOM树无法描述的状态下才能为元素添加样式,所以称为伪类。伪元素:用于创建一些不在DOM树中的元素,并为其添加样式。例如,我们可以通过:before来在一个元素之前添加一些文本,并为这些文本添加样式,虽然用户可以看见这些文本,但是它实际上并不在DOM文档中。伪类和伪元素的区别:请看下面例子:例一:如果我们想要给第一列添加样式,我们可以通过以下两种方式:(1)给第一列添加一个类,并在该类中定义样式:(2)如果不用添加类的方法,我们可以通过给第一个例二:HelloWorld,andwishyouhaveagoodday!想要给该段落第一个字母添加样式,可以有以下方法:(1)給第一个字母包裹元素,并给span设置样式:
HelloWorld,andwishyouhaveagoodday!
(2)如果不创建元素,我们可以通过给

元素设置P:first-letter伪元素为其添加样式,这时看起来像创建了一个虚拟的span元素并为其添加样式,但实际上在DOM数中并不存在这个span元素

HelloWorld,andwishyouhaveagoodday!

p:first-letter{color:red;}

从上述例子中我们可以看出:伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档树外的元素。因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。

伪元素使用单冒号还是双冒号?

css3规范中要求使用双冒号(::)表示伪元素,以此来区分伪类和伪元素,比如::before和::after等伪元素使用双冒号(::),:hover和:active伪类使用单冒号(:)。除了一些低于IE8版本的浏览器外,大部分浏览器都支持伪元素的双冒号(::)表示方法。

然而除了少部分伪元素如::backdrop必须使用双冒号(::),大部分伪元素都支持单冒号和双冒号的写法,比如::after,写成:after一样可以正常运行。

w3c标准中说到,虽然CSS3标准要求伪元素使用双冒号的写法,但也依然支持单冒号的写法。为了向后兼容,我们建议你在目前还是使用单冒号的写法。

常用伪类有:

:active 选择正在被激活的元素(匹配指定状态)

:hover 选择被鼠标悬浮着的元素(匹配指定状态)

:link 选择未被访问的元素 (匹配指定状态)

:visited 选择已被访问的元素(匹配指定状态)

:first-child 选择满足是其父元素的第一个子元素的元素

:lang(value) 选择带有指定 lang 属性的元素

:focus 选择拥有键盘输入焦点的元素

:enable 选择每个已启动的元素

:disable 选择每个已禁止的元素

:checked 选择每个被选中的元素

:target 选择当前的锚点元素

:first-of-type 选择满足是其父元素的第一个某类型子元素的元素

:last-of-type 选择满足是其父元素的最后一个某类型子元素的元素

:only-of-type 选择满足是其父元素的唯一一个某类型子元素的元素

:nth-of-type(n) 选择满足是其父元素的第n个某类型子元素的元素

:nth-last-of-type(n) 选择满足是其父元素的倒数第n个某类型的元素

:only-child 选择满足是其父元素的唯一一个子元素的元素

:last-child 选择满足是其父元素的最后一个元素的元素

:nth-child(n) 选择满足是其父元素的第n个子元素的元素

:nth-last-child(n) 选择满足是其父元素的倒数第n个子元素的元素

:empty 选择满足没有子元素的元素

:in-range 选择满足值在指定范围内的元素

:out-of-range 选择值不在指定范围内的元素

:invalid 选择满足值为无效值的元素

:valid 选择满足值为有效值的元素

:not(selector) 选择不满足selector的元素

:optional 选择为可选项的表单元素,即没有“required”属性

:read-only 选择有”readonly”的表单元素

:read-write 选择没有”readonly”的表单元素

:root 选择根元素

常用伪元素

::first-letter 选择指定元素的第一个单词

::first-line 选择指定元素的第一行

::after 在指定元素的内容前面插入内容

::before 在指定元素的内容后面插入内容

::selection 选择指定元素中被用户选中的内容

到此,相信大家对“css3的伪类和伪元素的区别有哪些”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

元素设置P:first-letter伪元素为其添加样式,这时看起来像创建了一个虚拟的span元素并为其添加样式,但实际上在DOM数中并不存在这个span元素HelloWorld,andwishyouhaveagoodday!从上述例子中我们可以看出:伪类的操作对象是文档树中已有的元素,而伪元素则创建了一个文档树外的元素。因此,伪类与伪元素的区别在于:有没有创建一个文档树之外的元素。伪元素使用单冒号还是双冒号?css3规范中要求使用双冒号(::)表示免费云主机、域名伪元素,以此来区分伪类和伪元素,比如::before和::after等伪元素使用双冒号(::),:hover和:active伪类使用单冒号(:)。除了一些低于IE8版本的浏览器外,大部分浏览器都支持伪元素的双冒号(::)表示方法。然而除了少部分伪元素如::backdrop必须使用双冒号(::),大部分伪元素都支持单冒号和双冒号的写法,比如::after,写成:after一样可以正常运行。w3c标准中说到,虽然CSS3标准要求伪元素使用双冒号的写法,但也依然支持单冒号的写法。为了向后兼容,我们建议你在目前还是使用单冒号的写法。常用伪类有::active 选择正在被激活的元素(匹配指定状态):hover 选择被鼠标悬浮着的元素(匹配指定状态):link 选择未被访问的元素 (匹配指定状态):visited 选择已被访问的元素(匹配指定状态):first-child 选择满足是其父元素的第一个子元素的元素:lang(value) 选择带有指定 lang 属性的元素:focus 选择拥有键盘输入焦点的元素:enable 选择每个已启动的元素:disable 选择每个已禁止的元素:checked 选择每个被选中的元素:target 选择当前的锚点元素:first-of-type 选择满足是其父元素的第一个某类型子元素的元素:last-of-type 选择满足是其父元素的最后一个某类型子元素的元素:only-of-type 选择满足是其父元素的唯一一个某类型子元素的元素:nth-of-type(n) 选择满足是其父元素的第n个某类型子元素的元素:nth-last-of-type(n) 选择满足是其父元素的倒数第n个某类型的元素:only-child 选择满足是其父元素的唯一一个子元素的元素:last-child 选择满足是其父元素的最后一个元素的元素:nth-child(n) 选择满足是其父元素的第n个子元素的元素:nth-last-child(n) 选择满足是其父元素的倒数第n个子元素的元素:empty 选择满足没有子元素的元素:in-range 选择满足值在指定范围内的元素:out-of-range 选择值不在指定范围内的元素:invalid 选择满足值为无效值的元素:valid 选择满足值为有效值的元素:not(selector) 选择不满足selector的元素:optional 选择为可选项的表单元素,即没有“required”属性:read-only 选择有”readonly”的表单元素:read-write 选择没有”readonly”的表单元素:root 选择根元素常用伪元素::first-letter 选择指定元素的第一个单词::first-line 选择指定元素的第一行::after 在指定元素的内容前面插入内容::before 在指定元素的内容后面插入内容::selection 选择指定元素中被用户选中的内容到此,相信大家对“css3的伪类和伪元素的区别有哪些”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: react-native-cli指的是什么

本文小编为大家详细介绍“react-native-cli指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“react-native-cli指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 react-native-c…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册