一、float实现
html结构:
[html] view plain copy
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
css:
[css] view plain copy
.left,.right{
width: 200px
height: 300px
background-color: red
}
.left{
float: left
}
.right{
float: right
}
.center{
margin: 0 210px
height: 300px
background-color: blue
}
这种实现受外界影响小,但是对html结构有要求(center必须放在最后,left与right则无所谓),当界面缩小到一定程度时,right会被挤到下一行
二、position实现
html结构:
[html] view plain copy
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
css:
[css] view plain copy
.left,.right{
position: absolute
width: 200px
height: 300px
background-color: yellow
}
.left{
left: 0
}
.right{
right: 0
}
.center{
margin: 0 210px
height: 300px
background-color: blue
}
该法布局的好处,三个div顺序可以任意改变。不足是 因为绝对定位,所以如果页面上还有其他内容,top的值需要小心处理,最好能够对css样式进行一个初始化,如果不对样式进行初始化,则两边和中间的值会对不齐。 另外,随着浏览器窗口缩小,小于200px的时候,会发生重叠。
CSS结构好的话,没有必要使用过多的类或者标识选择符。这是因为你可以指定在选择符内的选择符,而不必使用CSS嵌套。(或者更好的说法,上下文选择符--译者著)
1、比如:
ExampleSourceCode#top{ background-color:#ccc padding:1em } #toph1{ color:#ff0 } #topp{ color:red font-weight:bold }
2、这就减去不必要的类或者标识选择符,如果应用到像这样的HTML中:
ExampleSourceCode<dividdivid="top"> <h1>Chocolatecurry</h1> <p>Thisismyrecipeformakingcurrypurelywithchocolate</p> <p>Mmmmmmmmmm</p> </div>
这是因为,用英文半角空格间隔选择符,我们指明了在标识id内的h1有“#ff0”的颜色,而p则是红色red和粗体bold。这可能也会有些复杂(因为可能不止两级,比如在内在内在内在内等等)。有必要多加练习。
你的html中只要有匹配这个选择器的dom结构就会自动出现有这个图片的。不过你这个css选择器太复杂了,需要类似下面这个结构才能匹配(为了简便,这里都是用的div标签,实际情况可能会很复杂):<div class="public_nav_v3">
<div class="info_wrap">
<div class="info">
<div class="right">
<div class="login_box">
<div class="r_pic">
<div class="avatar_wrap">
<div class="frame frame_1">
......在最里面的这个div里就会出现那个图片了,当然这里很可能还要设定width、height等属性才行,总之就是这么个意思......
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>