今天KESO說,對(duì)于一個(gè)左中右3欄布局的頁面,比如home.donews.com,用戶最想看到的是中欄的信息,左右2欄其實(shí)網(wǎng)站的相關(guān)信息的導(dǎo)航入口,所以中欄信息是最重要的,應(yīng)該在頁面顯示順序上優(yōu)先于左右2欄?;蛘咭部梢赃@么說就是要將一個(gè)頁面的最重要的信息優(yōu)先于頁面其他元素顯示,無論是3欄還是2欄布局,說得很對(duì)。 瀏覽器顯示頁面是一行一行的按順序執(zhí)行代碼,也就是說寫在前面的先執(zhí)行顯示,而對(duì)于左中右3欄布局的設(shè)計(jì),代碼要么是從左-->中-->右來書寫,要么就是到過來從右-->中-->左來書寫,要做到KESO說的效果,那首先要書寫的是中欄的代碼。所以我首先定義了一個(gè)id=m的DIV,并且padding-left:150px,定義這個(gè)是為了給左欄留出140PX的顯示位置,然后再在這個(gè)DIV里面嵌套定義一個(gè)id=middle的DIV,我用position:absolute的屬性(絕對(duì)定位);然后再定義左欄left和右欄right。用position:absolute的屬性有一個(gè)不好的地方就是它象photoshop里的層一樣,它的自動(dòng)延伸并不會(huì)帶動(dòng)整個(gè)布局的延伸,所以會(huì)遮住一些頁面元素,比如我們通常會(huì)在網(wǎng)站的最下面寫上一些copyright的信息,如果用先顯示中欄的這種方法,如果不做處理的話,這些信息會(huì)被遮蓋住。處理的辦法就是使用javascript,讓左右2欄的高度隨中欄一起自動(dòng)延伸。
下面是這個(gè)實(shí)現(xiàn)的代碼,有興趣的朋友可以COPY回去試試,也歡迎留言交流。
BTW:這次和劉韌,KESO改版DONEWS.COM,獲益菲淺,他們才是真正懂用戶需求,懂網(wǎng)站的人。
補(bǔ)充:
最近做一些試驗(yàn)的時(shí)候,發(fā)現(xiàn)本文代碼最后的JS不是很好,想了個(gè)新的
這個(gè)是舊的:
<script language="javascript">
if(document.getElementById("left").scrollHeight<document.getElementById("middle").scrollHeight || document.getElementById("right").scrollHeight<document.getElementById("middle").scrollHeight){
document.getElementById("left").style.height=document.getElementById("middle").scrollHeight+"px"
document.getElementById("right").style.height=document.getElementById("middle").scrollHeight+"px"
}
</script>
這是新的:
<script language="javascript">
var l=document.getElementById("left").scrollHeight
var m=document.getElementById("middle").scrollHeight
var r=document.getElementById("right").scrollHeight
layoutHeight=Math.max(l,m,r)
document.getElementById("left").style.height=layoutHeight+"px"
document.getElementById("right").style.height=layoutHeight+"px"
document.getElementById("middle").style.height=layoutHeight+"px"
</script>
試驗(yàn)了3欄布局的切換,比這個(gè)復(fù)雜,過段時(shí)間會(huì)把代碼放上來SHARE
完全代碼:
<!DOCTYPE html PUBLIC "-//W。3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta http-equiv="Content-Language" content="gb2312" /> <meta content="all" name="robots" /> <meta name="author" content="designed by dodo at donews.com" /> <title>WEB標(biāo)準(zhǔn)網(wǎng)站設(shè)計(jì)實(shí)例:左中右3欄布局中最先顯示中欄內(nèi)容的方法</title> </head> <style> body{font-size:12px;} div{color:#fff} #m{padding-left:150px} #middle{position:absolute; background:red;width:468px; margin-right: auto; margin-left: auto; padding: 0px; } #left{float:left;background:green;width:140px;height:30px} #right{float:right;background:blue;width:140px} #all{width:770px; margin-right: auto; margin-left: auto; padding: 0px; color: #000; background:#ffa200;} #footer{clear:both;background:#808080;color:#fff} </style> <body> <div id="all"> <div id="m"> <div id="middle"> 中欄<br /> ·IT人的出路系列思考(三): 提升學(xué)習(xí)能力與可持 .. [陳國華] 11日 ·alexa上,黑客的下一個(gè)目標(biāo)是誰? [阮穎] 11日 ·IT人的出路系列思考(二):思維創(chuàng)新戰(zhàn)略與謀定 .. [陳國華] 11日 ·IT人的出路系列思考(一):項(xiàng)目與打工 [陳國華] 11日 ·希捷加入后的新一代筆記本選購規(guī)則 [新華美通] 11日 ·木子美:掙扎出歷史的海面透一口氣 [周晶波] 11日 ·首家推出出租房源、二手房源的RSS訂閱服務(wù) [鱉兔鱉] 11日 ·<a href="http://com.chinabyte.com/tom/" class="bluekey" target="_blank">TOM</a> 在線公布二○○五年第一季度之業(yè)績(jī)報(bào)告 [新華美通] 11日 ·黃華:我們有必要開會(huì)嗎? [黃華] 11日 ·IT人的出路系列思考(三): 提升學(xué)習(xí)能力與可持 .. [陳國華] 11日 ·alexa上,黑客的下一個(gè)目標(biāo)是誰? [阮穎] 11日 ·IT人的出路系列思考(二):思維創(chuàng)新戰(zhàn)略與謀定 .. [陳國華] 11日 ·IT人的出路系列思考(一):項(xiàng)目與打工 [陳國華] 11日 ·希捷加入后的新一代筆記本選購規(guī)則 [新華美通] 11日 ·木子美:掙扎出歷史的海面透一口氣 [周晶波] 11日 ·首家推出出租房源、二手房源的RSS訂閱服務(wù) [鱉兔鱉] 11日 ·TOM 在線公布二○○五年第一季度之業(yè)績(jī)報(bào)告 [新華美通] 11日 ·黃華:我們有必要開會(huì)嗎? [黃華] 11日 </div> </div> <div id="left">左欄</div> <div id="right">右欄<br> </div> <div id="footer">網(wǎng)頁底部</div> </div> <script language="javascript"> var l=document.getElementById("left").scrollHeight var m=document.getElementById("middle").scrollHeight var r=document.getElementById("right").scrollHeight layoutHeight=Math.max(l,m,r) document.getElementById("left").style.height=layoutHeight+"px" document.getElementById("right").style.height=layoutHeight+"px" document.getElementById("middle").style.height=layoutHeight+"px" </script> </body> </html> <div><font color=#999999 title="第一頁"><font face="webdings">9</font></font>