• 技术文章 >web前端 >html教程

    两列布局_html/css_WEB-ITnose

    2016-06-24 11:54:35原创514

    一、常见的两列布局

    如百度搜索结果页面,两列固定宽度,高度自适应。

    博客园文章内容页面和上边的结构类似。

    二、实现两列布局步骤

    1)应用浮动

    CSS如下

    *{margin:0;padding:0;}#header,#footer{width:960px; height:40px; background-color:#f0f0f0; margin:0 auto;}#drapper{ width:960px;  margin:10px auto;} .mainBox{float:left; width:680px;  background-color:red;}.sidebar{float:right; width:270px;background-color:red;}

      我们的html结构一般是这样的

    下午在创新工场听赖晓宁的分享,他说到 O2O 这个领域,如果你只是做简单的线上引流到线下,是没有多少机会的,能赚个 1、2 年钱不错了。真正重要的,是完全拆解掉线下的利益链条,按你的逻辑重新组装起来,这样才有壁垒。

      

    现在样式中浮动的div是没有设置高度的,设置左浮动的div高度为50pxj后,内容超出高度会发生什么?

    因此,浮动的div最好不要固定高度,或者固定高度后,添加overflow:hidden;

    2)高度自适应

    高度自适应就是不设置高度,或者height:auto;

    3)清楚浮动

    百度搜索或者博客园内容页都是在浮动div后边添加了一个多余的div标签。一般清楚浮动可以处理。

    有人就说了,直接将footer加clear:both;不是也可以吗?

    仔细看还是有区别的,只给footer加浮动浮动,div的容器drapper设置的外边距不起作用了。

    三、一列固定宽度,一列自适应

    一列固定必须使用固定宽度px,自适应的话使用%来控制宽度,比如sidebar 200px,mainBox70%,但是如果将浏览器可视区域缩小,则sidebar又挤到下边了。最好用width:auto或者100%并且配合负margin,此时也有问题当窗口减小,sidebar内容和mainBox出现内容重叠的情况。此时可以用定位方式来解决该问题。修改后的css如下

    *{margin:0;padding:0;}#header,#footer{width:auto; height:40px; background-color:#f0f0f0; margin:0 auto;}#drapper{ width:auto;  margin:10px auto; position:relative;}.mainBox{float:left; width:auto; background-color:red; margin-right:275px;}.sidebar{float:right; width:270px;background-color:red; position:absolute;top:0px;right:0px;}

    可视窗口变化后的显示效果

    四、两列宽度自适应

    这种布局方式,直接给浮动的div分配一定的宽度比例即可,如mainBox 70%,sidebar 28%。随着视窗的改变,两列一直按照比例进行显示,不会出现重叠或者一方被”挤到下方”的情况。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:两列布局
    上一篇:Codeforces Round #276 (Div. 1)_html/css_WEB-ITnose 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 有关浏览器兼容样式问题_html/css_WEB-ITnose• 免费下载:简单、优雅的现代风格界面工具包_html/css_WEB-ITnose• IE6 下,无法固定页面顶部的DIV_html/css_WEB-ITnose• js div+css 实现tab功能_html/css_WEB-ITnose• ExtJs教程6(上)
    1/1

    PHP中文网