css中#box{}与 #box div{}有什么区别 #box { width:150px; } #box div { border:5px; padding:20px; }

html-css028

css中#box{}与 #box div{}有什么区别 #box { width:150px; } #box div { border:5px; padding:20px; },第1张

这是基础。

复合选择器内的空格表示层次关系,从左到右表示父级元素 子级元素 孙级元素 …。

所以,#box是对id=box的元素起作用,由于继承关系它的子元素也会有它的一部分属性;#box div就只对id=box元素的子元素中所有的div起作用,对其它元素如<p>不起任何作用了 。

1、第一种情况:

<div class="box"></div>

.box{color:red} 这种是定义div元素box的css样式。比如color:red定义box里面的文字是红色。

2、第二种情况:

<div class="box">

<div class="box1">红色文字</div>

<div class="box2">蓝色文字</div>

</div>

.box .box1{color:red} 定义元素box下的子元素box1的css样式。

.box .box2{color:blue} 定义元素box下的子元素box2的css样式。

position:absolute

用定位做

如果你会用:before和:after一个div就搞定了。

<!doctype html>

<html>

<head>

    <meta charset="utf-8">

    <title>document</title>

    <style type="text/css">

        *{margin: 0padding: 0}

        #box{width:100pxheight:100pxbackground:blueposition: relativemargin: 100px auto}

        #box:before,#box:after{content: ""display: blockposition: absolutetop:0left:100pxbackground: redwidth:30pxheight:30px}

        #box:before{}

        #box:after{top:30pxbackground: green}

        /*在这里分界上面 是一个,下面是一个效果一样*/

        #box2{width:100pxheight:100pxmargin:100px autoposition:relativebackground:red}

        #box3,#box4{width:30pxheight:30pxposition:absoluteleft:100pxbackground:blue}

        #box3{background:bluetop:0}

        #box3{background:greentop:30px}

    </style>

<body>

    <div id="box"></div>

    <!--在这里分界上面 是一个,下面是一个效果一样-->

    <div id="box2">

        <div id="box3"></div>

        <div id="box4"></div>

    </div>

</body>

</html>