DIV+CSS:网页一行两列背景自适应

2016-02-19 23:24 5 1 收藏

有了下面这个DIV+CSS:网页一行两列背景自适应教程,不懂DIV+CSS:网页一行两列背景自适应的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - Web开发 】

网页布局中常有的一种情况就是网页主体部分分成一行两列;而在很多种情况下,设计师们常把左右两列的背景色设计成不同色彩,以实现内容块的明显区分;但这样的设计给布局提出了一个看似简单,而实现非常难的问题;那就是左右两列怎么样实现背景高度自适应,及左边内容高于右边时,右边背景色也要和左边一样;右边内容高于左边时,左边背景色也要和右边一样;

当年为了实现这个,我在网上查过无数的文章,都没有很好的解决方案;多数人用很大的负数实现,也有人用javascript实现; 后来因为感觉这样实现不合理,所以我一直用表格来实现; 因为这样最简单; 但今天同事问起我这个问题,我中午仔细想了想;想出了一个解决办法,写出来和大家分享;

基本原则:

1、布局要合理,不能为了实现这样的效果而使html的代码变得臃肿;
2、CSS部分也要简单巧妙实现,不能为了这样的效果而写大量的代码;而主要的还是浏览器兼容方面要没有问题;

以下是我实现的代码,说明一下,这样的布局还不是很理想;但这已是我暂时能想到的最好解决办法了;

实现方法一:左边用边框,右边用背景色;

这个方法是左边用200PX的边框来实现一列的背景,再用这个标签的实际背景色来实现另一列的背景,这样左右永远都是一样高的;


 程序代码

div id="box"
  div id="right"right br / right/div
  div id="left"left/div
  div style="clear:both"/div
/div

 程序代码

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

style
/*这一行可能不用看,是废话,为了好看一点*/
*{ padding:0; margin:0; font-size:12px; line-height:1.8; font-family:Verdana;}
/*最外边的一个盒子,左边框200PX,有背景色*/
#box{ background:#FFCC00;width:700px; border-left:200px solid #FF9900;}
/*让左边的一列向左移动200PX*/
#left{margin-left:-200px; width:200px; position:static;}
/*由于IE和FIREFOX有区别,所以对IE加了一行作处理*/
* html #left{position:fixed;}
/*右边的宽度,这里我为什么没有写700PX;说实话,我实在没有想明白;这里最多只能写900-200-2=698PX;但这在使用过程中,并不会有影响;*/
#right{float:right; width:695px;}
/style

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

演示效果:


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

方法一存在一个问题:就是如果左边的背景是一张图怎么办?对,如果是纯色,那么没有问题;如果是一张图,就没有办法了;所以我写了第二种解决办法;
实现方法二:用嵌套实现两列背景;这个方法我个人推荐使用;


 程序代码

div id="box"
  div id="content"
    div id="right"right br /right/div
    div id="left"left/div
  /div
/div

CSS部分我不用解释了吧!

 程序代码

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

style
*{ padding:0; margin:0; font-size:12px; line-height:1.8; font-family:Verdana;}
#box{ background:#FFFF66;width:700px; padding-left:200px; float:left;}
#content{ background: #FF6600; float:left;}
#right{ width:695px; float:right;}
#left{ width:200px; margin-left:-200px; position:static; float:left;}
* html #left{position:fixed;}
/style

演示效果:


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

来源:http://www.tulaoshi.com/n/20160219/1629850.html

延伸阅读
标签: Web开发
DIV+CSS是目前互联网网页制作最热门的方法,但对于完全手写代码,许多网页设计师都望而止步。 其实DIV+CSS是很简单的一种布局方式,甚至比任何一种编程语言都要简单(虽然它不能算是编程语言)。 首先你要知道,当你开始学习DIV+CSS的时候,你要把以前所有用DW画布局表格的思维方法忘的一干二净(如果你以前是用TABLE布局的话)...
标签: Web开发
单行一列 以下是引用片段: body { margin: 0px; padding: 0px; text-align: center; }  #content { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }  两行一列 以下是引用片段: body { margin: ...
你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding...
标签: Web开发
以下的内容是一位网友的DIV CSS编码笔记,是值得大家学习的,在实际工作与开发中,将工作中的点滴记录下来,回首这些过往,你也会收获很多,如果能在webjx.com与大家共同交流,相信进步就更快了。大家一起努力! 最近在做一个魔术网的div+css切割,昨晚发现了长期以来一直无记录下来的问题!关于兼容IE跟FF的float属性。趁现在还清...
标签: Web开发
CSS是Cascading Style Sheets(层叠样式表单)的简称。更多的人把它称作样式表。顾名思义,它是一种设计网页样式的工具。借助CSS的强大功能,网页将在您丰富的想象力下千变万化,越来越多的人在学习而很多初学者没有一个头绪,整理了一些学习的方法给大家。 一. CSS学习重在方法! 学习任何东西都是一样,从小学、中学、大学,除了学...

经验教程

68

收藏

27
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部