浏览器显示页面是一行一行的按顺序执行代码,也就是说写在前面的先执行显示,而对于左中右3栏布局的设计,代码要么是从左-->中-->右来书写,要么就是到过来从右-->中-->左来书写,要做到KESO说的效果,那首先要书写的是中栏的代码。所以我首先定义了一个id=m的DIV,并且padding-left:150px,定义这个是为了给左栏留出140PX的显示位置,然后再在这个DIV里面嵌套定义一个id=middle的DIV,我用position:absolute的属性(绝对定位);然后再定义左栏left和右栏right。用position:absolute的属性有一个不好的地方就是它象photoshop里的层一样,它的自动延伸并不会带动整个布局的延伸,所以会遮住一些页面元素,比如我们通常会在网站的最下面写上一些copyright的信息,如果用先显示中栏的这种方法,如果不做处理的话,这些信息会被遮盖住。处理的办法就是使用javascript,让左右2栏的高度随中栏一起自动延伸。
下面是这个实现的代码,有兴趣的朋友可以COPY回去试试,也欢迎留言交流。
BTW:这次和刘韧,KESO改版DONEWS.COM,获益菲浅,他们才是真正懂用户需求,懂网站的人。
补充:
最近做一些试验的时候,发现本文代码最后的JS不是很好,想了个新的
这个是旧的:
这是新的:
试验了3栏布局的切换,比这个复杂,过段时间会把代码放上来SHARE
完全代码:
function Preview(obj)
{
var TestWin=open('''');
TestWin.document.write(obj.value);
}
function copyCode(obj) {
var rng = document.body.createTextRange();
rng.moveToElementText(obj);
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
}
function saveCode(obj) {
var winname = window.open('''', ''_blank'', ''top=10000'');
winname.document.open(''text/html'',