CSS布局??左定宽度右自适应宽度并且等高布局_html/css_WEB-ITnose
程序员文章站
2022-05-20 19:44:11
...
方法一:
别的不多说,直接上代码,或者参考在线DEMO,下面所有的DEMO都有HTML和CSS代码,感兴趣的同学自己慢慢看吧。
HTML Markup
Main Content
CSS Code
查看在线DEMO。
方法二
HTML Markup
Left SidebarMain Content
CSS Code
查看在线的DEMO。
方法三:
HTML Markup
Main Content
CSS Code
*{margin: 0;padding: 0;} #container{ background-color:#0ff; overflow:hidden; padding-left:220px; /* 宽度大小等与边栏宽度大小*/ } * html #container{ height:1%; /* So IE plays nice */ } #content{ background-color:#0ff; width:100%; border-left:220px solid #f00;/* 宽度大小等与边栏宽度大小*/ margin-left:-220px;/* 宽度大小等与边栏宽度大小*/ float:right; } #sidebar{ background-color:#f00; width:220px; float:right; margin-left:-220px;/* 宽度大小等与边栏宽度大小*/ } #content, #sidebar { min-height: 200px; height: auto !important; height: 200px; }
查看在线DEMO效果。
方法四:
HTML Markup
Left SidebarMain Content
CSS Code
*{padding: 0;margin:0;} #container2 { float: left; width: 100%; background: orange; position: relative; overflow: hidden; } #container1 { float: left; width: 100%; background: green; position: relative; left: 220px;/* 宽度大小等与边栏宽度大小*/ } #col2 { position: relative; margin-right: 220px;/* 宽度大小等与边栏宽度大小*/ } #col1 { width: 220px; float: left; position: relative; margin-left: -220px;/* 宽度大小等与边栏宽度大小*/ } #col1,#col2 { min-height: 200px; height: auto !important; height: 200px; }
查看在线DEMO。
方法五:
HTML Markup
Left SidebarMain Content
CSS Code
*{padding: 0;margin: 0;} #container1 { float: left; width: 100%; overflow: hidden; position: relative; background-color: #dbddbb; } #container { background-color: orange; width: 100%; float: left; position: relative; left: 220px;/* 宽度大小等与边栏宽度大小*/ } #left { float: left; margin-right: -100%; margin-left: -220px;/* 宽度大小等与边栏宽度大小*/ width: 220px; } #content { float: left; width: 100%; margin-left: -220px;/* 宽度大小等与边栏宽度大小*/ } #contentInner { margin-left: 220px;/* 宽度大小等与边栏宽度大小*/ overflow: hidden; } #left, #content { min-height: 200px; height: auto !important; height: 200px; }
查看在线DEMO。
针对上面的面试题要求,我一共使用了五种不同的方法来实现,经过测试都能在各浏览器中运行,最后我有几点需要特别提出:
上面所有DEMO中,要注意其方向性的配合,并且值要统一,如果您想尝试使用自己布局需要的宽度值,请对照相关代码环节进行修改; 上面所有DEMO中,没有设置他们之间的间距,如果您想让他们之间有一定的间距,有两种方法可能实现,其一在上面的DEMO基础上修改相关参数,其二,在相应的里面加上"div"标签,并设置其“padding”值,这样更安全,不至于打破你的布局 因为我们这里有一列使用了自适应宽度,在部分浏览器下,当浏览器屏幕拉至到一定的大小时,给我们带来的感觉是自适应宽度那栏内容像是被隐藏,在你的实际项目中最好能在“body”中加上一个“min-width”的设置。推荐阅读
-
CSS网页布局入门教程6:左列固定,右列宽度自适应
-
css两列布局,一边固定宽度,另一边自适应_html/css_WEB-ITnose
-
css判断不同分辨率显示不同宽度布局实现自适应宽度_html/css_WEB-ITnose
-
DIV+CSS 布局一行两列,左列固定宽度,右列自适应宽度;设置最小宽度,窗口小的时候显示滚动条._html/css_WEB-ITnose
-
css两列布局,一边固定宽度,另一边自适应_html/css_WEB-ITnose
-
CSS布局??左定宽度右自适应宽度并且等高布局_html/css_WEB-ITnose
-
div+css布局之padding和margin的使用,及自适应100%的宽度_html/css_WEB-ITnose
-
从三栏自适应宽度布局到css布局的讨论_html/css_WEB-ITnose
-
CSS+DIV布局,一个列宽影响另一个列宽,使总宽度自适应(CSS+DIV Layout, one column's width depend on the other's)_html/css_WEB-ITnose
-
div+css布局之padding和margin的使用,及自适应100%的宽度_html/css_WEB-ITnose