让两个Div并排显示
一、使用display的inline属性
- <div style="width:300px; height:auto; float:left; display:inline">AAAA</div>
- <div style="width:300px; height:auto; float:left; display:inline">BBBB</div>
<div style="width:300px; height:auto; float:left; display:inline">AAAA</div> <div style="width:300px; height:auto; float:left; display:inline">BBBB</div>
二、通过设置float来让Div并排显示
- <style>
- #left,#right {float:left;border:1px solid red; padding:10px;}
- </style>
- <div id= "main ">
- <div id= "left "> 1111 </div>
- <div id= "right "> 2222 <br> 2222 <br> 2222 </div>
- <!-- 如果不用clear屬性可能會出現瀏覽器不兼容問題,clear設這元素周圍沒有浮動元素 -->
- <div style="clear:both"></div>
- </div>
<style> #left,#right {float:left;border:1px solid red; padding:10px;} </style> <div id= "main "> <div id= "left "> 1111 </div> <div id= "right "> 2222 <br> 2222 <br> 2222 </div> <!-- 如果不用clear屬性可能會出現瀏覽器不兼容問題,clear設這元素周圍沒有浮動元素 --> <div style="clear:both"></div> </div>
三、对于两个div并排,左边为绝对宽度,右边为相对宽度的,需要用到这种布局的情况比较多见,如左边为导航,右边为内容的页面
1、将最大的容器padding-left固定宽度,左边的固定宽度的一块position:absolute,然后right的一块width为百分百
2、 使用position:absolute。代码如下。
- <style>
- body{ margin:0; height:100%}
- html{ height:100%} /*兼容firefox的div高度100%*/
- #left{ position:absolute; top:0; left:0; width:200px; height:100%; background-color:#CCCCCC}
- #right{ margin-left:200px; height:100%; background-color:#0099FF}
- </style>
- <div id="left">left</div>
- <div id="right">right</div>
<style> body{ margin:0; height:100%} html{ height:100%} /*兼容firefox的div高度100%*/ #left{ position:absolute; top:0; left:0; width:200px; height:100%; background-color:#CCCCCC} #right{ margin-left:200px; height:100%; background-color:#0099FF} </style> <div id="left">left</div> <div id="right">right</div>
这段代码主要涉及到以下两点点比较重要的:
(1)兼容firefox实现div高度100%;
(2)div绝对定位的妙用;在页面布局的时候,position:absolute如果灵活的应用,可以达到很好的效果。
3、 使用float解决div左右布局,左为绝对宽度,右为相对宽度问题
- <style type="text/css">
- body{ margin:0; height:100% }
- html{ height:100% }
- #left{ width:150px; height:100%; float:left; _margin-right:-3px; background-color: yellow }
- #main{ height:100%; background-color: green }
- </style>
- <div id="left"></div>
- <div id="main"></div>
<style type="text/css"> body{ margin:0; height:100% } html{ height:100% } #left{ width:150px; height:100%; float:left; _margin-right:-3px; background-color: yellow } #main{ height:100%; background-color: green } </style> <div id="left"></div> <div id="main"></div>
4、代码如下。方法3可能没有按照题目要求,但是可以达到一样的页面效果。主要是使用了div的float属性。
- <style>
- body{ margin:0; height:100%}
- html{ height:100%} /*兼容firefox的div高度100%*/
- #left{ width:200px; height:100%; background-color:#CCCCCC; float:left}
- #main{ width:100%; height:100%; background-color:#0099FF}
- </style>
- <div id="main">
- <div id="left">left</div>
- Right
- </div>
<style> body{ margin:0; height:100%} html{ height:100%} /*兼容firefox的div高度100%*/ #left{ width:200px; height:100%; background-color:#CCCCCC; float:left} #main{ width:100%; height:100%; background-color:#0099FF} </style> <div id="main"> <div id="left">left</div> Right </div>