Div CSS三列布局最先顯示中列的方法_Div+CSS教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
對于一個左中右3欄布局的頁面,用戶最想看到的是中欄的信息,左右2欄其實網(wǎng)站的相關(guān)信息的導(dǎo)航入口,所以中欄信息是最重要的,應(yīng)該在頁面顯示順序上優(yōu)先于左右2欄�;蛘咭部梢赃@么說就是要將一個頁面的最重要的信息優(yōu)先于頁面其他元素顯示,無論是3欄還是2欄布局,說得很對。
瀏覽器顯示頁面是一行一行的按順序執(zhí)行代碼,也就是說寫在前面的先執(zhí)行顯示,而對于左中右3欄布局的設(shè)計,代碼要么是從左-->中-->右來書寫,要么就是到過來從右-->中-->左來書寫,要做到KESO說的效果,那首先要書寫的是中欄的代碼。所以我首先定義了一個id=m的DIV,并且padding-left:150px,定義這個是為了給左欄留出140PX的顯示位置,然后再在這個DIV里面嵌套定義一個id=middle的DIV,我用position:absolute的屬性(絕對定位);然后再定義左欄left和右欄right。用position:absolute的屬性有一個不好的地方就是它象photoshop里的層一樣,它的自動延伸并不會帶動整個布局的延伸,所以會遮住一些頁面元素,比如我們通常會在網(wǎng)站的最下面寫上一些copyright的信息,假如用先顯示中欄的這種方法,假如不做處理的話,這些信息會被遮蓋住。處理的辦法就是使用javascript,讓左右2欄的高度隨中欄一起自動延伸。
下面是這個實現(xiàn)的代碼,有愛好的朋友可以COPY回去試試,也歡迎留言交流。
最近做一些試驗的時候,發(fā)現(xiàn)本文代碼最后的JS不是很好,想了個新的
這個是舊的:
這是新的:
試驗了3欄布局的切換
[ 可先修改部分代碼 再運行查看效果 ]
瀏覽器顯示頁面是一行一行的按順序執(zhí)行代碼,也就是說寫在前面的先執(zhí)行顯示,而對于左中右3欄布局的設(shè)計,代碼要么是從左-->中-->右來書寫,要么就是到過來從右-->中-->左來書寫,要做到KESO說的效果,那首先要書寫的是中欄的代碼。所以我首先定義了一個id=m的DIV,并且padding-left:150px,定義這個是為了給左欄留出140PX的顯示位置,然后再在這個DIV里面嵌套定義一個id=middle的DIV,我用position:absolute的屬性(絕對定位);然后再定義左欄left和右欄right。用position:absolute的屬性有一個不好的地方就是它象photoshop里的層一樣,它的自動延伸并不會帶動整個布局的延伸,所以會遮住一些頁面元素,比如我們通常會在網(wǎng)站的最下面寫上一些copyright的信息,假如用先顯示中欄的這種方法,假如不做處理的話,這些信息會被遮蓋住。處理的辦法就是使用javascript,讓左右2欄的高度隨中欄一起自動延伸。
下面是這個實現(xiàn)的代碼,有愛好的朋友可以COPY回去試試,也歡迎留言交流。
最近做一些試驗的時候,發(fā)現(xiàn)本文代碼最后的JS不是很好,想了個新的
這個是舊的:
示例代碼 [www.hl5o.cn]
<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>
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>
這是新的:
示例代碼 [www.hl5o.cn]
<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>
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>
試驗了3欄布局的切換
代碼調(diào)試框 [www.hl5o.cn]
[ 可先修改部分代碼 再運行查看效果 ]
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對聯(lián)廣告不隨屏幕滾動的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級元素和內(nèi)聯(lián)元素
- 5個你該知道的CSS3新技術(shù)
- 用正則表達式替換a標記href值
- 30個優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計教程
- css中px和em有什么區(qū)別
- 相關(guān)鏈接:
- 教程說明:
Div+CSS教程-Div CSS三列布局最先顯示中列的方法
。