第一种方法(需要css3):
<style>.div1 {width:400px height:300px border:1px solid #00f}
.div2 {display:inline-block width:150px height:200px border:1px solid #f00}
.div3 {display:inline-block width:150px height:200px border:1px solid #0a0}
</style>
<div class=div1>
<div class=div2></div><div class=div3></div>
</div>
第二种方法:
<style>.div1 {width:400px height:300px border:1px solid #00f}
.div2 {float:left width:150px height:200px border:1px solid #f00}
.div3 {float:left width:150px height:200px border:1px solid #0a0}
</style>
<div class=div1>
<div class=div2></div><div class=div3></div>
</div>
第三种方法:
<style>.div1 {position:relative width:400px height:300px border:1px solid #00f}
.div2 {position:absolute left:0 top:0 width:150px height:200px border:1px solid #f00}
.div3 {position:absolute left:152px top:0 width:150px height:200px border:1px solid #0a0}
</style>
<div class=div1>
<div class=div2></div><div class=div3></div>
</div>
不用定位也可以实现
<div id="div1"><div id="div2"></div>
</div>
CSS中定义div1的宽度,将div2的设置为居中,上边距为10即可
#div1{width:400pxheight:390pxpadding-top:10px}#div2{width:380pxheight:380pxmargin:0 auto}
这样实现或者直接#div{padding:10px}也可以, 如果是用定位,固定两个div的宽度后定位即可
#div1{width:400pxheight:400pxposition:relative}
#div2{width:380pxheight:380pxposition:absoluteleft:10pxtop:10px}
1、”当用表格定位网页,当网页被打开时,只有当表格内所有元素被加载完后,表格里内容才会显示,因此,不能把所有内容放在一个表格里,这样超级影响网页打开速度“不推荐表格布局的原因不是在这里,css布局代替table布局是基于内容样式分离、标签语义、代码可读性等多方面考虑的。2、"是否要id=1下的所有div加载完后,整个div才会显示出来?"这个我真不明白是什么意思,浏览器渲染网页先构建dom树,然后加载内容。多层div嵌套显然会影响加载速度(虽然相比请求加载资源相比微不足道),所以我们一般要避免。
3、“另外嵌套层数太多,是否会影响到被搜索引擎搜到的机率?”这个完全不会,搜索引擎在处理数据是首先要过滤标签;
4、“div被吹的很强大”这个?div+css布局和table布局一样是极端情况,是不好的。div并不强大。要根据语义用。