css伪类选择器应该怎样用(中)

接上篇css伪类选择器应该怎样用(上)继续整理css选择器。

由于我是将伪类及伪元素一起整理,其中没有去区分,重点写的也是如何使用,所以今天想起来就将伪类与伪元素区别也写一下,以防止进入误区。

伪类与伪元素定义基本一致,都是特殊状态下加样式,伪类是向存在的某个元素加样式,而伪元素是虚拟一个元素加样式。声明的时候伪元素是两个冒号:,伪类是一个冒号。before 和 after就是经常经常使用的伪元素。

一、:only-of-type 和 :only-child

(1)、:only-of-type

:only-of-type 匹配属于同类型中唯一的同级元素。

(2)、:only-child

:only-child 匹配属于父元素中唯一子元素的元素。

实例:

 <div>
 <p>only-of-type和only-child样式,两个都生效,由于only-child在下面,所以覆盖了绿色 </p>
 </div>
 <div>
 <p>only-child</p>
 <ul>
 <li>1</li>
 <li>2</li>
 </ul>
 </div>
 <style>
 p:only-of-type{
 background:green;
 }
 p:only-child{
 background:red;
 }
 </style>

二、:not

not选择器是用于匹配非指定元素或选择器的每个元素,即取反,可以选择指定元素外的所有元素。

实例:

 <div>我不想被选择</div>
 <p>我想被选择</p>
 <a href="">我想被选择</a>
 <div>我不想被选择</div>
 <h1>我想被选择</h1>
 <style>
 div{color: red;}
 *:not(div){
 background:#000;
 color: chartreuse;
 }
 </style>

除了div外,已经改变了其他标签样式,包括body还有html标签。所以用not选择器做全选比较好使。

三、:empty

匹配没有子元素的每个元素,包括文本节点。就相当于有个标签,其中没有内容。具体效果如下:

四、:selection

匹配元素中被用户选择或处于高亮状态的部分,并只能作用少数css属性。并且他就是上方提到过的伪元素之一。

五、:first-line

用于选择指定选择器的第一行。主要适用于块级元素中,可使用css元素也是有限:font,color,backgroud,word-spacing,letter-spacing,text-decoration,vertical-align,line-height,clear,text-transform.

上图为演示的p段落中的首行高亮。

六、:first-letter

:first-letter 选择器用于选取指定选择器的首字母。和first-line差不多,一样适用于块级元素,也是有限属性:font,color,backgroung,margin,padding,border,line-height,float,clear,vertical-align,text-decoration,text-transform

上图为演示的p段落中的首字母高亮。

七、:root

匹配文档根元素。:root 表示 <html> 元素,除了优先级更高之外,与 html 选择器相同。

所以对全局声明有很大作用。一般用的较少。

八、:lang

:lang 选择器用于选择带有以指定值开始的 lang 属性的元素。

 p:lang(en){
 background:yellow;
 }

<p lang="en">toutiao</p>
<p lang="cn">头条</p>

设置en的lang被选择。

九、:checked

匹配input,仅适用于单选按钮和复选框。为了演示清晰,改了下input样式

可以看到背景颜色checked选中的,背景变为红色。

<div class="content">
 <input type="checkbox">未选中<br>
 <input type="checkbox" checked>选中变色<br>
 <input type="radio">未选中<br>
 <input type="radio" checked>选中变色<br>
</div>
 <style>
 input{ 
 -webkit-appearance:none; 
 appearance:none;
 width:20px; 
 height:20px; 
 background: #999;
 border:1px solid #999; 
 border-radius: 30px;
 outline: none; 
 }
 input:checked{
 background:red;
 }
 </style>
 

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月28日

referrer策略和meta标签的问题

referrer策略和meta标签的问题请求后端接口时,banner图片的请求出现403错误:GEThttp://xxxxxxxxxxxx403(Forbidden)。在网上搜寻一番,解决方法如下:在index.html中的head中添加&lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot; /&gt;。在此之前,关于r

热门专题

弥勒综合高中|弥勒综合高中
弥勒综合高中
开放大学|开放大学报名,开放大学报考,开放大学,什么是开放大学,开放大学学历,开放大学学费,开放大学报名条件,开放大学报名时间,开放大学学历,开放大学专业
开放大学
天麻的功效与作用吃法|天麻的功效与作用,天麻的功效与作用吃法,天麻炖什么治头痛最好,天麻的功效与作用禁忌,天麻多少钱一斤,天麻的功效与作用吃法及禁忌,天麻怎么吃效果最好,天麻粉的功效与作用,天麻怎么吃
天麻的功效与作用吃法
自考本科|自考本科有用吗,自考文凭,自考本科文凭,自考文凭有用吗,自考本科文凭有用吗,自考文凭承认吗
自考本科
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
云南巨榕教育投资集团有限公司|云南巨榕教育投资集团有限公司,巨榕教育集团,巨榕教育
云南巨榕教育投资集团有限公司
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部