登录  /  注册

浅谈对css伪类和伪元素的理解

零下一度
发布: 2017-06-29 15:06:22
原创
1696人浏览过

前言

今天主要谈谈css的伪类和伪元素。其实,关于伪类和伪元素,我在小工具css 选择器演示 中,写了不少伪类和伪元素,大家可以去看一下!

伪类和伪元素的理解

官方解释

伪类一开始单单只是用来表示一些元素的动态状态,典型的就是链接的各个状态(LVHA)。随后CSS2标准扩展了其概念范围,使其成为了所有逻辑上存在但在文档树中却无须标识的“幽灵”分类。

伪元素则代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中。

我自己的理解:

伪类,类,class是一个类,就类似class这样,表示一些元素的状态的,但是无须标识的分类。

伪元素,就是一个元素,类似p标签元素,等等,逻辑上存在,但是实际并不存在在文档树中。

另外一个简单的理解和区分就是:

伪类前面是一个冒号,为元素前面是两个冒号。E:first-child 伪类,E::first-line为元素。

特殊情况::before 和 ::after 伪元素

before 和after是在元素前面和后面添加一些元素,因此是伪元素,CSS3选择器中已经将其前面变为两个冒号了。请看:w3cselect

问题来了,那么为什么我们平时用before和after前面就一个冒号?

当你看了css2选择器就知道了,老的规范中,伪类和伪元素都用一个冒号,新规范为了区分,伪元素统一用两个“::”,所以,大家注意了,往后在写css3的时候,为元素要用两个冒号,伪类用一个冒号。

伪类和伪元素的应用

我之前的css常用效果,讲了一些。

像伪元素

::-webkit-scrollbar::selection::-webkit-input-placeholder 
::after
登录后复制

等等。

伪元素中用的最多的要数::after和::before了

可以用这两个伪元素做很多效果!

html
<a href="#">haorooms</a>
css
a {    position: relative;    
display: inline-block;    outline: none;    
text-decoration: none;    color: #000;    font-size: 32px;    
padding: 5px 10px;}a:hover::before, 
a:hover::after { position: absolute; }
a:hover::before 
{ content: "\5B"; left: -20px; }
a:hover::after { content: "\5D"; right:  -20px; }
登录后复制

其中content中可以用attr也可以用url

例如:

a::after { content:"(" attr(href) ")"; } h1::before { content: url(logo.png); }
登录后复制

伪类中用的最多的要数:nth-child()选择器了,关于nth-child(),我之前有篇文章介绍过。

以上就是浅谈对css伪类和伪元素的理解的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
css
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号