秋天的景色真美丽,像一幅美丽的图画。
需要实现横向两列布局:左列固定,右列自适应的效果,如下图:
HTML代码:
XML/HTML Code复制内容到剪贴板
- <DOCTYPEhtml>
- <html>
- <head>
- <metacharset="UTF-8">
- <title>测试练习</title>
- </head>
- <body>
- <divclass="parent">
- <divclass="side">侧栏</div>
- <divclass="main">主栏</div>
- </div>
- </body>
- </html>
方法一(推荐):使用asolute属性实现,需要注意:固定宽的列的高度>自适应宽度列的高度
CSS代码:
CSS Code复制内容到剪贴板
- body{
- margin:0;
- padding:0;
- font-size:30px;
- font-weight:bold;
- }
- .parent{
- text-align:center;
- line-height:200px;
- }
- .side{
- position:absolute;left:0;top:0;
- width:200px;
- height:200px;
- background:red;
- }
- .main{
- margin-left:210px;
- background:blue;
- height:200px;
- }
方法二:通过设置float属性(使纵向排列的块级元素,横向排列)及margin属性(设置两列之间的宽度)
CSS代码:
CSS Code复制内容到剪贴板
- body{
- margin:0;
- padding:0;
- font-size:30px;
- font-weight:bold;
- }
- .parent{
- text-align:center;
- line-height:200px;
- }
- .side{
- width:200px;
- height:200px;
- float:left;
- background:red;
- }
- .main{
- height:200px;
- margin-left:210px;
- background:blue;
- }
方法三:使用Flex布局
CSS代码:
CSS Code复制内容到剪贴板
- body{
- margin:0;
- padding:0;
- font-size:30px;
- font-weight:bold;
- }
- .parent{
- text-align:center;
- line-height:200px;
- display:flex;
- }
- .side{
- width:200px;
- height:200px;
- background:red;
- margin-right:10px;
- }
- .main{
- background:blue;
- height:200px;
- flex:1;
- }
方法四:利用BFC不与浮动元素重叠的特性
CSS代码:
CSS Code复制内容到剪贴板
- body{
- margin:0;
- padding:0;
- font-size:30px;
- font-weight:bold;
- }
- .parent{
- text-align:center;
- line-height:200px;
- }
- .side{
- width:200px;
- height:100px;
- float:left;
- background:red;
- margin-right:10px;
- }
- .main{
- /*创建BFC*/
- overflow:hidden;
- background:blue;
- height:100px;
- }
以上就是本文的全部内容,希望对大家熟练掌握CSS布局技巧有所帮助。
更多阅读内容:
学习DIV+CSS网页布局之一列布局
学习DIV+CSS网页布局之两列布局
学习DIV+CSS网页布局之三列布局
学习DIV+CSS网页布局之混合布局