先看看效果(1)左边固定宽度,右边自适应
<!DOCTYPE html> <html> <head><title>shengbei</title><meta charset="utf-8" /><style type="text/css">*{margin:0px;padding: 0px;}p{padding: 20px;}#container{margin:0 auto;width: 1000px;overflow: hidden;padding-left: 210px;text-align: center;}#main{float: left;width: 100%;background: yellow;}#aside{float: left;margin-left:-100%;width: 200px;position:relative;left:-210px;background: red;}</style> </head> <body> <div id="container"><div id="main"><p>主栏目</p></div><div id="aside"><p>左侧栏目</p></div> </div> </body> </html>
基本原理:1.首先在一个大的container里包含2个div;
2.设置主窗口左浮动float,且窗口宽度为100%;(主窗口占据div的全部宽度,这样左窗口即使浮动也会被挤压到下一行,第2步解决该问题)
3.设置左侧窗口左浮动float,设置左外边距为-100%;(这样可以使左窗口与主窗口在一行上,但是此时左窗口会覆盖主窗口一部分,第4’5步解决该问题)
4.设置container容器的padding-left为210px,稍微大于左窗口,同时留出2个窗口的外边距
5.最后设置左窗口的的位置position设置为relative,left=-210px,使其紧靠container的左侧,同时与主窗口有一定的外边距。
再看效果(2)右窗口固定宽度,主窗口自适应
<!DOCTYPE html> <html> <head> <meta charset="utf8"><title></title><style type="text/css">*{padding: 0px;margin:0px;}p{padding: 20px;}#container{width:1000px;margin:0 auto;padding-right: 210px;}#main{width:100%;float: left;background: red;}#aside{float: left;width:200px;margin-left: -200px;background: yellow;position: relative;right:-210px;}</style> </head> <body> <div id="container"><div id="main"><p>主栏目</p></div><div id="aside"><p>测栏目</p></div> </div> </body> </html>
基本原理:
1.首先在一个大的container里包含2个div;
2.设置主窗口左浮动float,且窗口宽度为100%;(主窗口占据div的全部宽度,这样右窗口即使浮动也会被挤压到下一行,第2步解决该问题)
3.设置右窗口左浮动float,设置左外边距为-200px;(这样可以使右窗口与主窗口在一行上,但是此时右窗口会覆盖主窗口一部分,第4’5步解决该问题)
4.设置container容器的padding-left为210px,稍微大于左窗口,同时留出2个窗口的外边距
5.最后设置左窗口的的位置position设置为relative,left=-210px,使其紧靠container的左侧,同时与主窗口有一定的外边距。
2种布局的基本原理一致。
转载请注明出处,谢谢