css选择器

1.CSS选择器常见的有几种?

1).基本选择器:

  • 通配选择器~选择文档中所有的html元素,用一个*表示
  • 元素选择器~选择指定类型的的html元素
  • ID选择器~选择指定ID属性值的html元素,选择的时候前面加上一个#号
  • 类选择器~选择指定class属性的任意多个html元素,选择的时候前面加上一个.号

2).层次选择器:

  • 多选择器 E,F~选择匹配E元素,F元素
  • 后代选择器 E F~选择匹配E元素下的F元素
  • 直接子元素选择器 E > F~选择匹配E元素下的直接子元素F
  • 相邻兄弟选择器 E + F~选择匹配E元素后的直接相邻元素F
  • 通用相邻选择器 E ~ F~选择匹配E元素后的所有同级元素F

3).伪类选择器:
结构伪类选择器

  • E:first-child~匹配E元素的第一个子元素
  • E:last-child~匹配E元素的最后一个子元素
  • E:root~匹配E元素所在文档的根元素
  • E:nth-child(n)~匹配E元素的第n个子元素
  • E:nth-last-child(n)匹配E元素的倒数第n个子元素
  • E:nth-of-type(n)匹配父元素内具有指定类型的第n个E元素
  • E:nth-last-of-type(n)匹配父元素内具有指定类型的倒数第n个E元素
  • E:first-of-type匹配父元素内具有指定类型的第一个E元素
  • E:last-of-type匹配父元素内具有指定类型的最后一个E元素
  • E:only-child匹配父元素内只包含一个子元素,且该子元素匹配E元素
  • E:only--ofchild匹配父元素内只包含一个同类型的子元素,且该子元素匹配E元素
  • E:empty匹配没有子元素的元素,且该元素五任何文本节点

动态伪类选择器

  • E:link匹配未被访问过的超链接
  • E:visited匹配被访问过的超链接
  • E:active匹配鼠标已经其上按下、还没有释放的E元素
  • E:hover匹配鼠标停留其上的E元素
  • E:focus匹配获得焦点的E元素

语言伪类选择器

  • E:lang(language)匹配指定了lang属性且值为language的E元素

否定伪类选择器

  • E:not(F)匹配所欲除F元素外的E元素

4)、伪元素选择器:
::first-letter用来选择文本块的第一个字母
::first-line用来选择元素的第一行文本
::before::after不是指存在标记中的内容,而是可以插入额外内容的位置,需要配合content属性使用
::selection用来匹配突出显示的文本

5)、属性选择器:

  • E[attr]~匹配所有具有属性attr的E元素
  • E[attr=val]~匹配具有属性attr,attr值为val的元素,val区分大小写
  • E[attr|=val]~匹配具有属性attr,attr值为val或以val-开始的元素
  • E[attr=val]匹配具有属性attr,attr值具有多个空格分隔、其中一个值等于value的元素
  • E[attr*=val]~匹配具有属性attr,attr值的任意位置包含了val的元素
  • E[attr^=val]~匹配具有属性attr,attr值以val开头的任何字符串的元素
  • E[attr$=val]~匹配具有属性attr,attr值以val结尾的任何字符串

2.选择器的优先级是怎样的?

答:优先级就是一个 应用于指定的CSS声明的 权重,它由 匹配的选择器中的 每一种选择器类型的 数值 决定。而当优先级与多个CSS声明中任意一个声明的优先级相等的时候,CSS中最后的那个声明将会被应用到元素上。当同一个元素有多个声明的时候,优先级才会有意义。因为每一个直接作用于元素的CSS规则总是会接管/覆盖(take over)该元素从祖先元素继承而来的规则。
CSS优先级从高到低分别是:
1.在属性后面使用 !important会覆盖页面内任何位置定义的元素样式( !important 是一个坏习惯,应该尽量避免,因为这打断了样式表中的固有的级联规则 使得调试找bug变得更加困难了。当两条相互冲突的带有!important 规则的声明被应用到相同的元素上时,拥有更大优先级的声明将会被采用。)

2.作为style属性写在元素标签上的内联样式

3.id选择器

4.类选择器

5.伪类选择器

6.属性选择器

7.标签选择器

8.通配符选择器

9.浏览器自定义
参考文档

3.class 和 id 的使用场景?

    <div id='header'><!-- ID属性值在当前页面具有唯一性,可快速获取标签对象,可用于页面大的布局-->
        <div class="wrap">这里是标题</div><!-- 把一些特定的通用的样式放到一个class类中,需要此样式的标签,可以在添加此类-->
     </div>
     <div id='content'>
        <!-- 多个类,放在一个class属性里,用空格隔开-->
        <div class="wrap intr">这里是内容
            <!-- ID属性值用于充当label标签for属性的值,在 label 元素内点击文本,就会触发此控件,为鼠标用户改进了可用性-->
            <input type="radio" name="sex" id="female" value="female"><label for="female">女</label>
        </div>
     </div>
     <div id='footer'>
        <div class="wrap">这里是footer</div>

4.使用CSS选择器时为什么要划定适当的命名空间?

答:可以使代码具有可读性和可维护性,便于写代码和调试代码;避免因为命名不规范而导致出问题。

5.以下选择器分别是什么意思?

#header{
}/*匹配id='header'的元素*/
.header{
}/*匹配class='header'的元素*/
.header .logo{
}/*匹配元素为class='header'下class='logo'的元素*/
.header.mobile{
}/*匹配class='header mobile'的元素*/
.header p, .header h3{
}/*匹配元素为class='header'下标签为p和h3的两个元素*/
#header .nav>li{
}/*匹配id='header'的元素下class='nav'的直接子元素li*/
#header a:hover{
}/*匹配id='header'的元素下a元素的:hover伪类*/

6.列出你知道的伪类选择器

  • :first-child
  • :last-child
  • :root
  • :nth-child(n)
  • :nth-last-child(n)
  • :nth-of-type(n)
  • :nth-last-of-type(n)
  • :first-of-type
  • :last-of-type
  • :only-child
  • :only-of-child
  • :empty
  • :not()
  • :link
  • :visited
  • :active
  • :hover
  • :focus
  • :lang(language)

7.:first-child和:first-of-type的作用和区别

答:1.:first-child的作用是匹配父元素下的第一个子元素;
2.:first-of-type的作用是匹配父元素下指定类型的第一个子元素
区别::first-of-type选择的子元素是从父元素下的指定类型的第一个子元素,而:first-child选择的子元素是从父元素下第一个子元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>task8</title>
    <style>
        .content a:first-child{
            font-size: 30px;
        }/*匹配到a元素,因为a元素是父元素的第一个子元素*/
        .content p:first-child{
            font-size: 30px;
        }/*匹配不到p元素,因为p元素不是父元素的第一个子元素*/
        .content a:first-of-type{
            color: #f00;
        }/*匹配到a元素,因为a是div的所有类型为a的子元素中的第一个*/
        .content p:first-of-type{
            color: #f00;
        }/*匹配到p元素,因为p是div的所有类型为p的子元素中的第一个*/
    </style>
</head>
<body>
    <div class="content">
        <a href="">我是a链接</a>
        <p>我是段落1</p>
        <p>我是段落2</p>
        <p>我是段落3</p>
    </div>
</body>
</html>
QQ图片20160809141013.png

8.运行如下代码,解析下输出样式的原因

<style>
.item1:first-child{ color: red;}
.item1:first-of-type{ background: blue;}
</style> 
<div class="ct"> 
         <p class="item1">aa</p>
         <h3 class="item1">bb</h3>
         <h3 class="item1">ccc</h3>
 </div>

运行结果如下:

QQ图片20160809141654.png

item1:first-child{ color: red;}会匹配父元素下的第一个子元素,即p元素,将其字体颜色设置诶红色;
.item1:first-of-type会匹配父元素下的指定.item1类型的元素,那么这里就会选择p.item1,第一个h3.item1,将其背景颜色设置为蓝色

9.text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中

答:作用是使元素内的文本居中,作用在块级元素上,能让块级元素中的行内元素水平居中。

10.如果遇到一个属性想知道兼容性,在哪查看?

答:可以用 caniuse.com来查css属性的兼容性。

QQ图片20160809151636.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • 一、CSS选择器常见的有几种? 基本选择器 通配选择器~选择文档中所有的html元素,用一个*表示 元素选择器~选...
    dengpan阅读 961评论 0 3
  • 1、CSS选择器常见的有几种? 标签选择器:直接将HTML标签作为选择器,a {text-decoration: ...
    饥人谷_dudu阅读 243评论 0 0
  • 1.CSS选择器常见的有几种? 答: 1.基本选择器 ①Elements-标签选择器:直接在标签上面设置样式,例如...
    呦泥酷阅读 397评论 0 0
  • CSS选择器结构逻辑图 接下来按照结构逻辑图具体讲解各个选择器的作用及用法; 基本选择器 基本选择器主要有以下5类...
    FoolishFlyFox阅读 557评论 0 8
  • 1、class 和 id 的使用场景? 2、CSS选择器常见的有几种? 3、选择器的优先级是怎样的?对于复杂场景如...