最近两天写代码写到手软,写到颈椎疼,写到手臂酸,写到手指疼=-=
但是觉得在做项目在学习的过程中还是收获了很多哒,有各种疑惑的模棱两可的都得到了解决,也许呢,过一段时间我会觉得自己问的这些问题记录的这些东西都很白痴,但是~起码是成长学习历程不是~
so,言归正传~
一
关于子元素选择器和后代选择器
W3C上定义:子元素选择器只能选择作为某元素子元素的元素;而后代选择器可以选择作为某元素后代的所有元素。
demo
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<style type="text/css">
.parent span{
display: inline-block;
margin: 20px;
height: 50px;
width: 100px;
background-color: yellow;
}
</style>
</head>
<body>
<div class = "parent">
<span>1</span>
<span>2</span>
<div class = "child">
<span>3</span>
</div>
</div>
</body>
</html>
在这段代码中,span 1、2、3都是class类的后代元素,然而,span3其实是class类子元素的子元素,外面多包了一个div嘛。
如果,我们,利用后代选择器选择的话,得到的样式是这个样子的。
三个span全部变成了黄色,为了设置宽高,特意将span元素的display属性设置为display:inline-block;这样他们可以在一行内排列,同时又具有块级元素的属性,至于为什么span3在下面,因为它的父元素是另外一个div,div是块级元素~
下面将代码改成.parent > span,此时选择的是子元素,现在看到的是这个样子:
元素3什么都没有改变,谁让人家的关系远呢~
所以,子元素选择器选择的是离元素最近的元素,关系远的就靠边~而后代选择器就比较刚正无私不管远近一视同仁~