搜索

CSS选择符

Feb 22, 2017 pm 01:21 PM
css选择符

CSS选择符

【通配选择符】

*星号选择器将匹配页面里的每一个元素,但我建议你永远不要再生产代码中使用它。它给浏览器带来大量不必要的负担。

*{

margin:0;

padding:0;

}

【标签选择符】(也叫类型选择符):也就是把html标签名作为选择符

demo: ul {}

【id选择符】:应该慎重使用ID选择器。

给所需样式标签自定义id名.然后在css文件内写上#自定义id名{CSS样式}.注意:每个id名都必须不同.

#IDname {width: 960px; margin: auto; }

id选择符是唯一的,不允许重复使用。如果可能的话,先尝试使用一个标签名称,一个新的HTML5元素,甚至是一个伪类。

【类选择符】(class)

自定义class名,使用方法:在css文件内写上.class名{css样式}.

.className {border-color: blue; font-size:16px;}

注意:一个标签可以用多个class名,一个class名可以供多个标签使用。

id和class的区别

id选择符,一个id名只能用一次,不得重复。  getElementById('')

class选择符,一个class名可重复使用,比如页面中的多个元素,都可以使用同一个样式定义。

【群组选择符】:同时控制多个标签。标签名用,隔开

a,p,span{}

【组合选择符】:我们还可以通过标签名,id名,class名混搭的方式来选择,添加样式

p .p {} 表示p标签下的所有class为p的标签。

p,#a {}  表示id为a的标签和所有的p标签。

【关系选择符】:关系选择符可分为

选择符   名称                   描述                    版本     英文名

 E F    包含选择符  选择所有被E元素包含的F元素。 CSS1  (Descendant combinator)这个也有叫后代选择器的

 E>F   子选择符    选择所有作为E元素的子元素F。 CSS2  (Child combinator)

 E+F   相邻选择符  选择紧贴在E元素之后F元素。   CSS2  (Adjacent sibling combinator)

 E~F   兄弟选择符  选择E元素所有兄弟元素F。      CSS3  (General sibling combinator)

【伪类选择符】

不是所有的标签都能使用伪类选择符,在此处我们只讲a标签的伪类选择符


a:link {color: #FF0000; text-decoration: none}         //未访问的链接
a:visited {color: #00FF00; text-decoration: none}     //已访问的链接
a:hover {color: #FF00FF; text-decoration: underline}   //鼠标在链接上
a:active {color: #0000FF; text-decoration: underline}  //激活链接

✪注意:以上的伪类你可以写1个或者写多个。但是一定要按照顺序写,否则会出问题!

 

选择符                   版本          描述

E:link                  CSS1     设置超链接a在未被访问前的样式。

E:visited             CSS1     设置超链接a在其链接地址已被访问过时的样式。

E:hover               CSS1/2  设置元素在其鼠标悬停时的样式。

E:active               CSS1/2  设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。

E:focus                CSS1/2  设置元素在成为输入焦点(该元素的onfocus事件发生)时的样式。

E:lang(fr)            CSS2    匹配使用特殊语言的E元素。很少用

E:not(s)               CSS3    匹配不含有s选择符的元素E。

E:root                  CSS3    匹配E元素在文档的根元素。常指html元素

E:first-child          CSS2    匹配父元素的第一个子元素E。

E:last-child           CSS3    匹配父元素的最后一个子元素E。

E:only-child           CSS3    匹配父元素仅有的一个子元素E。

E:nth-child(n)       CSS3     匹配父元素的第n个子元素E。

E:nth-last-child(n)   CSS3    匹配父元素的倒数第n个子元素E。

E:first-of-type         CSS3    匹配同类型中的第一个同级兄弟元素E。

E:last-of-type          CSS3    匹配同类型中的最后一个同级兄弟元素E。

E:only-of-type         CSS3    匹配同类型中的唯一的一个同级兄弟元素E。

E:nth-of-type(n)     CSS3    匹配同类型中的第n个同级兄弟元素E。

E:nth-last-of-type(n) CSS3    匹配同类型中的倒数第n个同级兄弟元素E。

E:empty                 CSS3    匹配没有任何子元素(包括text节点)的元素E。

E:checked              CSS3    匹配用户界面上处于选中状态的元素E。(用于input type为radio与checkbox时)

E:enabled               CSS3    匹配用户界面上处于可用状态的元素E。

E:disabled              CSS3    匹配用户界面上处于禁用状态的元素E。

E:target                  CSS3    匹配相关URL指向的E元素。

 

  ★first-child 与first-of-type的区别:

举例:

4533d610cdb8960dc10af1294aeeedba
e388a4556c0f65e1904146cc1a846bee第一个子元素94b3e26ee717c64999d7867364b1b4a3
4a249f0d628e2318394fd9b75b4636b1第二个子元素473f0a7621bec819994bb5020d29372a
45a2772a6b6107b401db3c9b82c049c2第三个子元素54bdf357c58b8a65c66d7c19c8e4d114
45a2772a6b6107b401db3c9b82c049c2第四个子元素54bdf357c58b8a65c66d7c19c8e4d114
94b3e26ee717c64999d7867364b1b4a3

语法说明:

p:first-child        匹配到的是p元素,因为p元素是p的第一个子元素;

h1:first-child      匹配不到任何元素,因为在这里h1是p的第二个子元素,而不是第一个;

span:first-child       匹配不到任何元素,因为在这里两个span元素都不是p的第一个子元素;

p:first-of-type      匹配到的是p元素,因为p是p的所有为p的子元素中的第一个,事实上这里也只有一个为p的子元素;

h1:first-of-type       匹配到的是h1元素,因为h1是p的所有为h1的子元素中的第一个,事实上这里也只有一个为h1的子元素;

span:first-of-type    匹配到的是第三个子元素span。这里p有两个为span的子元素,匹配到的是第一个。

所以,通过以上两个例子可以得出结论:

:first-child      匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。

:first-of-type   匹配的是某父元素下相同类型子元素中的第一个,比如 p:first-of-type,就是指所有类型为p的子元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了。

✪注意:当然这些元素的范围都是属于同一级的,也就是同辈的。

同样类型的选择器 :last-child  和 :last-of-type、:nth-child(n)  和  :nth-of-type(n) 也可以这样去理解。

【属性选择符】

选择符              版本     描述

E[att]                 CSS2  选择具有att属性的E元素。

E[att="val"]       CSS2  选择具有att属性且属性值等于val的E元素。

E[att~="val"]    CSS2  选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。

E[att^="val"]    CSS3  选择具有att属性且属性值为以val开头的字符串的E元素。

E[att$="val"]    CSS3  选择具有att属性且属性值为以val结尾的字符串的E元素。

E[att*="val"]    CSS3  选择具有att属性且属性值为包含val的字符串的E元素。

E[att|="val"]     CSS2  选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。

【伪对象选择符】

选择符                                  版本     描述

E:first-letter/E::first-letter   CSS1/3  设置对象内的第一个字符的样式。

E:first-line/E::first-line        CSS1/3  设置对象内的第一行的样式。

E:before/E::before      CSS2/3  设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用

E:after/E::after                   CSS2/3  设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用

E::placeholder                       CSS3    设置对象文字占位符的样式。

E::selection                         CSS3    设置对象被选择时的颜色。    

 

✪注意:CSS3的语法改成:: ,原本CSS1是: ,故还是直接用两个冒号为妥。

举例:

html:

<input type="search" placeholder="测试">

css:

input::-webkit-input-placeholder {color: green;}

 

更多CSS选择符 相关文章请关注PHP中文网!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
@KeyFrames vs CSS过渡:有什么区别?@KeyFrames vs CSS过渡:有什么区别?May 14, 2025 am 12:01 AM

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

使用页面CMS进行静态站点内容管理使用页面CMS进行静态站点内容管理May 13, 2025 am 09:24 AM

我知道,我知道:有大量的内容管理系统选项可用,而我进行了几个测试,但实际上没有一个是一个,y&#039;知道吗?怪异的定价模型,艰难的自定义,有些甚至最终成为整个&

链接HTML中CSS文件的最终指南链接HTML中CSS文件的最终指南May 13, 2025 am 12:02 AM

链接CSS文件到HTML可以通过在HTML的部分使用元素实现。1)使用标签链接本地CSS文件。2)多个CSS文件可通过添加多个标签实现。3)外部CSS文件使用绝对URL链接,如。4)确保正确使用文件路径和CSS文件加载顺序,优化性能可使用CSS预处理器合并文件。

CSS Flexbox与网格:全面评论CSS Flexbox与网格:全面评论May 12, 2025 am 12:01 AM

选择Flexbox还是Grid取决于布局需求:1)Flexbox适用于一维布局,如导航栏;2)Grid适合二维布局,如杂志式布局。两者在项目中可结合使用,提升布局效果。

如何包括CSS文件:方法和最佳实践如何包括CSS文件:方法和最佳实践May 11, 2025 am 12:02 AM

包含CSS文件的最佳方法是使用标签在HTML的部分引入外部CSS文件。1.使用标签引入外部CSS文件,如。2.对于小型调整,可以使用内联CSS,但应谨慎使用。3.大型项目可使用CSS预处理器如Sass或Less,通过@import导入其他CSS文件。4.为了性能,应合并CSS文件并使用CDN,同时使用工具如CSSNano进行压缩。

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

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

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

热门文章

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

DVWA

DVWA

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

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器