CSS认识3

问答

  • CSS选择器常见的有几种?
    id选择器
#idName {}

类选择器

.className {}

标签选择器

p {}

通配

 * {}

包含选择器

E F

子选择器

E>F

相邻选择器

E+F

兄弟选择器

E~F

属性选择器

E[atl]

属性值选择器

E[atl="val"]

  • 选择器的优先级是怎样的?
    简单的就是 通配选择器<标签选择器<类选择器<id选择器
选择器 特殊性 以10为基础的特殊性
style="" 1,0,0,0 1000
#wrapper #content {} 0,2,0,0 200
#content .datePosted {} 0,1,1,0 110
div#content {} 0,1,0,1 101
#content {} 0,1,0,0 100
p.content .datePosted {} 0,1,1,0 21
#content {} 0,1,1,0 11
div p {} 0,1,1,0 2
p {} 0,1,1,0 1

值越大优先级越高


  • class 和 id 的使用场景?
    class 复用性高
<!doctype html>
<html lang="en"  >
<head>
<meta charset="utf-8">
<title>Document</title>
<style type="text/css">
.box{
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 1px red solid;
    }

</style>
</head>
<body>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</body>
</html>
Paste_Image.png

id 具有唯一性 方便js操作

<!doctype html>
<html lang="en"  >
<head>
<meta charset="utf-8">
<title>Document</title>
<style type="text/css">
.box{
    overflow: hidden;
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 1px red solid;
    }
</style>
<script type="text/javascript">
window.onload=function () {
    var oP=document.getElementById('p1');
    oP.innerHTML="321"; 
}   
</script>
</head>
<body>
<div class="box"><p id="p1">123</p></div>
<div class="box"></div>
<div class="box"></div>
</body>
</html>
Paste_Image.png

  • 使用CSS选择器时为什么要划定适当的命名空间?
    1 方便看 比如.head nav 就能知道是头部的导航栏
    2 可以重复利用

  • 以下选择器分别是什么意思?
#header{
}
.header{
}
.header .logo{
}
.header.mobile{
}
.header p, .header h3{
}
#header .nav>li{
}
#header a:hover{
}
 ####### header 

选择id为header的元素

.header

选择class为header的元素

.header .logo

选择class为header元素下class为logo的元素

.header.mobile

选择class为header moblie的元素或者是moblie header的元素

.header p, .header h3

选择class为header元素下的所有p、h3标签

#header .nav>li

选择id为header元素下class为nav元素下的直接子li标签
####### header a:hover
选择id为header下的a标签的hover(鼠标悬停)状态


  • 列出你知道的伪类选择器

a标签伪类速记love hate

选择符 版本 描述
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元素在文档的根元素
E:first-child css2 匹配父元素的第一个子元素E
E:last-child css2 匹配父元素的最后一个子元素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-child 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元素
E:@page:first css2 Pseudo-Classes Selectors index设置页面容器第一页使用的样式。仅用于@page规则
E:@page:lest css2 Pseudo-Classes Selectors index设置页面容器位于装订线左边的所有页面使用的样式。仅用于@page规则
E:@page:right css2 Pseudo-Classes Selectors index设置页面容器位于装订线右边的所有页面使用的样式。仅用于@page规则

  • :first-child和:first-of-type的作用和区别
    E:first-child 匹配的是父级元素下一个E元素(如果是第二个就无效)
    E:first-of-type匹配同级兄弟E元素(只要有E元素就会匹配到第一个)
p:first-child{color:red;}
<body>
    <p>可以匹配到</p>
</body>

可以匹配到p元素

p:first-child{color:red;}
<body>
    <span>span1<span>
    <p>无法匹配到</p>
</body>

无法匹配到p元素

p:first-of-type
<body>
    <span>span1<span>
    <p>可以匹配到</p>
    <p>第二个p不可以匹配到</p>
</body>

可以匹配到第一个p元素

p:first-of-type
<body>
    <p>可以匹配到</p>
    <p>第二个p不可以匹配到</p>
</body>

可以匹配到p元素


  • 运行如下代码,解析下输出样式的原因。
<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>
.item1:first-child{} 

匹配到div中 第一个class为item1的p元素 aa变成红色

.item1:first-of-type{}

匹配到class为item1的p元素和h3元素中的第一个 aa和bb背景色为蓝色


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

作用是居中

作用在块级元素上

可以上行内元素元素居中(可以设置文字 图片 和行内元素的居中)


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

http://caniuse.com/ 可以查看


本教程版权归菲龍探雲和饥人谷所有,转载须说明来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.class 和 id 的使用场景? class:类选择器,一个标签可以有多个类且同一个类可以用到不同的标签上,...
    饥人谷_兔子君阅读 1,216评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 一、CSS选择器常见的有几种? 基本选择器 通配选择器~选择文档中所有的html元素,用一个*表示 元素选择器~选...
    dengpan阅读 980评论 0 3
  • 1,class 和 id 的使用场景? 1.class是类选择器,用.class定义,定位到页面中有相同特征的一类...
    _思铭阅读 387评论 0 0
  • class和id的使用场景 class指定标签的类名,属性值可出现在多个标签中。id指定标签的唯一标识,为某一元素...
    饥人谷_saybye阅读 466评论 0 0