目录
CSS选择符
首页 web前端 css教程 CSS选择符

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的区别:

举例:

<p class="test">
<p>第一个子元素</p>
<h1>第二个子元素</h1>
<span>第三个子元素</span>
<span>第四个子元素</span>
</p>
登录后复制

语法说明:

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

热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

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

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1419
52
Laravel 教程
1312
25
PHP教程
1262
29
C# 教程
1235
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

php是A-OK用于模板 php是A-OK用于模板 Apr 11, 2025 am 11:04 AM

PHP模板通常会因促进Subpar代码而变得不良说唱,但这并不是这样的情况。让我们看一下PHP项目如何执行基本的

如何在WordPress主题中构建VUE组件 如何在WordPress主题中构建VUE组件 Apr 11, 2025 am 11:03 AM

内联式模板指令使我们能够将丰富的VUE组件构建为对现有WordPress标记的逐步增强。

编程SASS创建可访问的颜色组合 编程SASS创建可访问的颜色组合 Apr 09, 2025 am 11:30 AM

我们一直在寻求使网络更容易访问。颜色对比只是数学,因此Sass可以帮助涵盖设计师可能错过的边缘案例。

See all articles