搜索
首页web前端css教程CSS3中属性选择器新增加的特性的详细介绍

零、概览

CSS2支持的属性选择器用一个表达式[{属性 | 属性 {= | |= | ~=} 值}]
1.[class="a"]只能匹配class="a"的元素
2.[class~="a"]则可以匹配class="a"、class="a b"的元素
3.[lang|=en]则可以匹配lang="en"、lang="en-us"的元素。

CSS3新增*=、^=、$=三种匹配方式[{属性 | 属性 {*= | ^= | $=} 值}]:
1.*=表示模糊匹配,[href="163"]可以匹配href="163.com"、href="mail.163.com"等元素;
2.^=表示以指定字符开头,[href^="/"]则匹配href="/a/a.htm"、href="/b"的元素
3.$=表示以指定字符结尾,[scr$=".png"]则匹配所有png图片,如src="logo.png"

CSS3的属性选择器主要包括以下几种:
1.E[attr]:只使用属性名,但没有确定任何属性值;
2.E[attr="value"]:指定属性名,并指定了该属性的属性值;
3.E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“?”不能不写;
4.E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;
5.E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;
6.E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;
7.E[attr|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn);

一、E[attr]:属性选择器是CSS3属性选择器中最简单的一种。如果你希望选择有某个属性的元素,而不论这个属性值是什么,你就可以使用这个属性选择器:

.demo a[id] {background: blue; color:yellow;font-weight:bold;}

也可以使用多属性进行选择元素,如E[attr1][attr2], 这样只要是同时具有这两属性的元素都将被选中:

.demo a[href][title] {background: yellow; color:green;}

注:IE6不支持这个选择器。

二、E[attr="value"]:指定了属性值“value”

.demo a[id="first"] {background: blue; color:yellow;font-weight:bold;}

注:属性和属性值必须完全匹配,特别是对于属性值是词列表的形式时,如:
    test

.demo a[class="links"]{color:red};   
.demo a[class="links item"]{color:red};

    IE6不支持这个选择器。

三、E[attr~="value"]:如果想根据属性值中的词列表的某个词来进行选择元素,那么就需要使用这种属性选择器:E[attr~="value"],这种属性选择器是属性值是一个或多个词列表,如果是列表时,他们需要用空格隔开,只要属性值中有一个value相匹配就可以选中该元素,前面所讲的E[attr="value"]是属性值需要完全匹配才会被选中,他们两者区别就是一个有“?”号,一个没有“?”号。

.demo a[title~="website"]{background:orange;color:green;}

注:属性选择器中有波浪(?)时属性值有value时就相匹配,没有波浪(?)时属性值要完全是value时才匹配。IE6不支持E[attr~="value"]属性选择器。

四、E[attr^="value"]:选择attr属性值以“value”开头的所有元素,换句话说,选择的属性其以对应的属性值是以“value”开始的。

.demo a[href^="http://"]{background:orange;color:green;}

注:IE6不支持E[attr^="value"]选择器。

五、E[attr$="value"]:E[attr$="value"]属性选择器刚好与E[attr^="value"]选择器相反,E[attr$="value"]表示的是选择attr属性值以"value"结尾的所有元素,换句话说就是选择元素attr属性,并且他的属性值是以value结尾的,这个运用在给你一些特殊的链接加背景图片很方便的,比如说给pdf,png,doc等不同文件加上不同icon,我们就可以使用这个属性来实现.

.demo a[href$="png"]{background:orange;color:green;}

注:IE6不支持E[attr$="value"]属性选择器。

六、E[attr*="value"]:选择attr属性值中包含子串"value"的所有元素。也就是说,只要你所选择的属性,其属性值中有这个"value"值都将被选中。

.demo a[title*="site"]{background:black;color:white;}

注:IE6不支持E[attr*="value"]选择器。

七、E[attr|="value"]:称作为特定属性选择器。这个选择器会选择attr属性值等于value或以value-开头的所有元素。

.demo a[lang|="zh"]{background:gray;color:yellow;}

注:常常用的地方是用来匹配语言,IE6不支持E[attr|="value"]选择器。

注释:
1.属性选择器除了IE6不支持外,其他的浏览器都能支持。
2.E[attr="value"]和E[attr*="value"]是最实用的,其中E[attr="value"]能帮我们定位不同类型的元素,特别是表单form元素的操作,比如说input[type="text"],input[type="checkbox"]等,而E[attr*="value"]能在网站中帮助我们匹配不同类型的文件,比如说你的网站上不同的文件类型的链接需要使用不同的icon图标,用来帮助你的网站提高用户体验,就像前面的实例,可以通过这个属性给".doc",".pdf",".png",".ppt"配置不同的icon图标。

更多CSS3中属性选择器新增加的特性的详细介绍相关文章请关注PHP中文网!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Flexbox vs Grid:我应该学习两者吗?Flexbox vs Grid:我应该学习两者吗?May 10, 2025 am 12:01 AM

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

轨道力学(或我如何优化CSS KeyFrames动画)轨道力学(或我如何优化CSS KeyFrames动画)May 09, 2025 am 09:57 AM

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

CSS动画:很难创建它们吗?CSS动画:很难创建它们吗?May 09, 2025 am 12:03 AM

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@KeyFrames CSS:最常用的技巧@KeyFrames CSS:最常用的技巧May 08, 2025 am 12:13 AM

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingmatematingmultationmatingMultationPropertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用BombingingWithjavofofofofofoffo

CSS计数器:自动编号的综合指南CSS计数器:自动编号的综合指南May 07, 2025 pm 03:45 PM

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他们可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑战挑战InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)创造性

使用卷轴驱动动画的现代滚动阴影使用卷轴驱动动画的现代滚动阴影May 07, 2025 am 10:34 AM

使用滚动阴影,尤其是对于移动设备,是克里斯以前涵盖的一个微妙的UX。杰夫(Geoff)涵盖了一种使用动画限制属性的新方法。这是另一种方式。

重新访问图像图重新访问图像图May 07, 2025 am 09:40 AM

让我们快速进修。图像地图一直返回到HTML 3.2,首先是服务器端地图,然后使用映射和区域元素通过图像上的单击区域定义了可单击区域。

DEV状态:每个开发人员的调查DEV状态:每个开发人员的调查May 07, 2025 am 09:30 AM

开发委员会调查现已开始参与,并且与以前的调查不同,它涵盖了除法:职业,工作场所,以及健康,爱好等。 

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器