關(guān)于HTML中的滾動條使用技巧分享
發(fā)布時間:2013-06-16 15:31:01 作者:佚名
我要評論

在網(wǎng)頁中刪除一些東西的時候滾動條往往還在刪除東西之前的位置,而不是非常不人性化的跑到那一頁的頂部,那么這是怎么實現(xiàn)的呢?下面就給大家來分享一些其他關(guān)于html滾動條的使用技巧
今天學(xué)習(xí)牛腩新聞發(fā)布系統(tǒng)的時候牛腩老師講到了滾動條的一些知識,提到的不多,只涉及到了滾動條的一部分知識,如果想深入研究的話這些是不夠的,還要自己去搜集一些相關(guān)的知識
我說一個現(xiàn)象大家一定常見 ,就是在網(wǎng)頁中刪除一些東西的時候滾動條往往還在刪除東西之前的位置,而不是非常不人性化的跑到那一頁的頂部,那么這是怎么實現(xiàn)的呢?其實辦法很簡單,只需要在.aspx的源碼中的頂端部分加上 MaintainScrollPositionOnPostback ="true"即可。見下圖:
以上這個現(xiàn)象就是在學(xué)習(xí)牛腩新聞發(fā)布系統(tǒng)的時候遇到的,下面就給大家來分享一些其他關(guān)于html滾動條的使用技巧
(1)隱藏滾動條
<bodystyle="overflow-x:hidden;overflow-y:hidden">
(2)如何在單元格或圖層中出現(xiàn)滾動條
<divstyle="width:200px;height:200px;overflow-x:auto;overflow-y:auto;"></div>
(3)javascript改變框架中滾動條的樣式,比如改變顏色、改為平面效果等
<STYLE>
BODY {SCROLLBAR-FACE-COLOR: #ffcc99;
SCROLLBAR-HIGHLIGHT-COLOR: #ff0000;
SCROLLBAR-SHADOW-COLOR: #ffffff;
SCROLLBAR-3DLIGHT-COLOR: #000000;
SCROLLBAR-ARROW-COLOR: #ff0000;
SCROLLBAR-TRACK-COLOR: #dee0ed;
SCROLLBAR-DARKSHADOW-COLOR: #ffff00;}
</STYLE>
說明:
scrollbar-3dlight-color:color;設(shè)置或檢索滾動條亮邊框顏色;
scrollbar-highlight-color:color;設(shè)置或檢索滾動條3D界面的亮邊顏色;
scrollbar-face-color:color;設(shè)置或檢索滾動條3D表面的顏色;
scrollbar-arrow-color:color;設(shè)置或檢索滾動條方向箭頭的顏色;當(dāng)滾動條出現(xiàn)但不可用時,此屬性失效;
scrollbar-shadow-color:color;設(shè)置或檢索滾動條3D界面的暗邊顏色;
scrollbar-darkshadow-color:color;設(shè)置或檢索滾動條暗邊框顏色;
scrollbar-base-color:color;設(shè)置或檢索滾動條基準(zhǔn)顏色。其它界面顏色將據(jù)此自動調(diào)整。
scrollbar-track-color:color;設(shè)置或檢索滾動條的拖動區(qū)域顏色
備注:
color為你要設(shè)置的顏色代碼,可以是16進(jìn)制的,比如#FF0000,可以是以RGB表示的,比如rgb(255,0,255);設(shè)置滾動條樣式的時候不必要把所有的屬性都用上才會生效。
(4)javascript中的頁面元素定位
clientX、clientY是鼠標(biāo)當(dāng)前相對于網(wǎng)頁的位置,當(dāng)鼠標(biāo)位于頁面左上角時clientX=0, clientY=0;
offsetX、offsetY是鼠標(biāo)當(dāng)前相對于網(wǎng)頁中的某一區(qū)域的位置,當(dāng)鼠標(biāo)位于頁面中這一區(qū)域的左上角時offsetX=0, offsetY=0;
screenX、screenY是鼠標(biāo)相對于用戶整個屏幕的位置;
x、y是鼠標(biāo)當(dāng)前相對于當(dāng)前瀏覽器的位置
scrollLeft:設(shè)置或獲取位于對象左邊界和窗口中目前可見內(nèi)容的最左端之間的距離(因為有滾動條的產(chǎn)生,所以目前頁面可見內(nèi)容是不定的)。
scrollTop:設(shè)置或獲取位于對象最頂端和窗口中可見內(nèi)容的最頂端之間的距離。
left:對象相對于頁面的X坐標(biāo)。
top:對象相對于頁面的Y坐標(biāo)
(5)屏蔽選擇,右鍵等
<body oncontextmenu=self.event.returnValue=falseonselectstart="return false">
下面的這個小例子是 實現(xiàn)滾動條根據(jù)窗體的大小自動設(shè)置
<SPAN style="FONT-SIZE: 18px"><html>
<head>
<style type="text/css">
.TopDIV
{
position:absolute;
left:130px;
top:10px;
width:105;
height:30;
overflow-x:hidden;
overflow-y:auto;
float: right;
border-style.:solid;
border-width:;
border-color:red
}
.LeftDIV
{
position:absolute;
left:10px;
top:40px;
width:120;
height:60;
overflow-x:hidden;
overflow-y:hidden;
float: right;
border-style.:solid;
border-width:;
border-color:yellow
}
.MainDIV
{
position:absolute;
left:130px;
top:40px;
width:120;;
height:80;
overflow-x:auto;
overflow-y:auto;
float: right;
border-style.:solid;
border-width:;
border-color:blue
}
</style>
<script type="text/javascript" language="javascript">
function setStyle()
{
//145的由來LeftDiv的left+width+15(15是滾動條的寬度)
document.getElementById("a").style.width=document.body.clientWidth - 145;
//130的由來LeftDiv的left+width
document.getElementById("c").style.width=document.body.clientWidth - 130;
//55的由來TopDIV的top+height+15(15是滾動條的寬度)
document.getElementById("b").style.height=document.body.clientHeight - 55;
//40的由來TopDIV的top+height
document.getElementById("c").style.height=document.body.clientHeight - 40;
}
</script>
</head>
<body onresize="setStyle();" onLoad="setStyle();">
<div id='a' class="TopDIV">
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
<div id='b' class="LeftDIV">
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
3234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
4234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
5234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
6234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
7234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
8234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
9234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
0234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
<div id='c' onscroll="document.getElementById('b').scrollTop = this.scrollTop;document.getElementById('a').scrollLeft = this.scrollLeft;"
class="MainDIV">
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
3234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
4234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
5234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
6234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
7234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
8234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
9234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
0234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
</body>
</html>
</SPAN>
滾動條的使用是很常見的,它的相關(guān)知識也是相當(dāng)?shù)亩?希望自己能在不斷的學(xué)習(xí)中,不斷的總結(jié),使自己的學(xué)習(xí)能力和學(xué)習(xí)效率能有一定的提高.
我說一個現(xiàn)象大家一定常見 ,就是在網(wǎng)頁中刪除一些東西的時候滾動條往往還在刪除東西之前的位置,而不是非常不人性化的跑到那一頁的頂部,那么這是怎么實現(xiàn)的呢?其實辦法很簡單,只需要在.aspx的源碼中的頂端部分加上 MaintainScrollPositionOnPostback ="true"即可。見下圖:

以上這個現(xiàn)象就是在學(xué)習(xí)牛腩新聞發(fā)布系統(tǒng)的時候遇到的,下面就給大家來分享一些其他關(guān)于html滾動條的使用技巧
(1)隱藏滾動條
<bodystyle="overflow-x:hidden;overflow-y:hidden">
(2)如何在單元格或圖層中出現(xiàn)滾動條
<divstyle="width:200px;height:200px;overflow-x:auto;overflow-y:auto;"></div>
(3)javascript改變框架中滾動條的樣式,比如改變顏色、改為平面效果等
<STYLE>
BODY {SCROLLBAR-FACE-COLOR: #ffcc99;
SCROLLBAR-HIGHLIGHT-COLOR: #ff0000;
SCROLLBAR-SHADOW-COLOR: #ffffff;
SCROLLBAR-3DLIGHT-COLOR: #000000;
SCROLLBAR-ARROW-COLOR: #ff0000;
SCROLLBAR-TRACK-COLOR: #dee0ed;
SCROLLBAR-DARKSHADOW-COLOR: #ffff00;}
</STYLE>
說明:
scrollbar-3dlight-color:color;設(shè)置或檢索滾動條亮邊框顏色;
scrollbar-highlight-color:color;設(shè)置或檢索滾動條3D界面的亮邊顏色;
scrollbar-face-color:color;設(shè)置或檢索滾動條3D表面的顏色;
scrollbar-arrow-color:color;設(shè)置或檢索滾動條方向箭頭的顏色;當(dāng)滾動條出現(xiàn)但不可用時,此屬性失效;
scrollbar-shadow-color:color;設(shè)置或檢索滾動條3D界面的暗邊顏色;
scrollbar-darkshadow-color:color;設(shè)置或檢索滾動條暗邊框顏色;
scrollbar-base-color:color;設(shè)置或檢索滾動條基準(zhǔn)顏色。其它界面顏色將據(jù)此自動調(diào)整。
scrollbar-track-color:color;設(shè)置或檢索滾動條的拖動區(qū)域顏色
備注:
color為你要設(shè)置的顏色代碼,可以是16進(jìn)制的,比如#FF0000,可以是以RGB表示的,比如rgb(255,0,255);設(shè)置滾動條樣式的時候不必要把所有的屬性都用上才會生效。
(4)javascript中的頁面元素定位
clientX、clientY是鼠標(biāo)當(dāng)前相對于網(wǎng)頁的位置,當(dāng)鼠標(biāo)位于頁面左上角時clientX=0, clientY=0;
offsetX、offsetY是鼠標(biāo)當(dāng)前相對于網(wǎng)頁中的某一區(qū)域的位置,當(dāng)鼠標(biāo)位于頁面中這一區(qū)域的左上角時offsetX=0, offsetY=0;
screenX、screenY是鼠標(biāo)相對于用戶整個屏幕的位置;
x、y是鼠標(biāo)當(dāng)前相對于當(dāng)前瀏覽器的位置
scrollLeft:設(shè)置或獲取位于對象左邊界和窗口中目前可見內(nèi)容的最左端之間的距離(因為有滾動條的產(chǎn)生,所以目前頁面可見內(nèi)容是不定的)。
scrollTop:設(shè)置或獲取位于對象最頂端和窗口中可見內(nèi)容的最頂端之間的距離。
left:對象相對于頁面的X坐標(biāo)。
top:對象相對于頁面的Y坐標(biāo)
(5)屏蔽選擇,右鍵等
<body oncontextmenu=self.event.returnValue=falseonselectstart="return false">
下面的這個小例子是 實現(xiàn)滾動條根據(jù)窗體的大小自動設(shè)置
復(fù)制代碼
代碼如下:<SPAN style="FONT-SIZE: 18px"><html>
<head>
<style type="text/css">
.TopDIV
{
position:absolute;
left:130px;
top:10px;
width:105;
height:30;
overflow-x:hidden;
overflow-y:auto;
float: right;
border-style.:solid;
border-width:;
border-color:red
}
.LeftDIV
{
position:absolute;
left:10px;
top:40px;
width:120;
height:60;
overflow-x:hidden;
overflow-y:hidden;
float: right;
border-style.:solid;
border-width:;
border-color:yellow
}
.MainDIV
{
position:absolute;
left:130px;
top:40px;
width:120;;
height:80;
overflow-x:auto;
overflow-y:auto;
float: right;
border-style.:solid;
border-width:;
border-color:blue
}
</style>
<script type="text/javascript" language="javascript">
function setStyle()
{
//145的由來LeftDiv的left+width+15(15是滾動條的寬度)
document.getElementById("a").style.width=document.body.clientWidth - 145;
//130的由來LeftDiv的left+width
document.getElementById("c").style.width=document.body.clientWidth - 130;
//55的由來TopDIV的top+height+15(15是滾動條的寬度)
document.getElementById("b").style.height=document.body.clientHeight - 55;
//40的由來TopDIV的top+height
document.getElementById("c").style.height=document.body.clientHeight - 40;
}
</script>
</head>
<body onresize="setStyle();" onLoad="setStyle();">
<div id='a' class="TopDIV">
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
<div id='b' class="LeftDIV">
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
3234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
4234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
5234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
6234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
7234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
8234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
9234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
0234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
<div id='c' onscroll="document.getElementById('b').scrollTop = this.scrollTop;document.getElementById('a').scrollLeft = this.scrollLeft;"
class="MainDIV">
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
3234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
4234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
5234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
6234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
7234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
8234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
9234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
0234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
2234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
</body>
</html>
</SPAN>
滾動條的使用是很常見的,它的相關(guān)知識也是相當(dāng)?shù)亩?希望自己能在不斷的學(xué)習(xí)中,不斷的總結(jié),使自己的學(xué)習(xí)能力和學(xué)習(xí)效率能有一定的提高.
相關(guān)文章
html中設(shè)置讓div中的內(nèi)容超出后自動顯示滾動條
html中如何設(shè)置超出部分自動顯示滾動條,下面為大家詳細(xì)介紹下讓div中的內(nèi)容超出后自動顯示滾動條具體實現(xiàn),感興趣的朋友不要錯過2014-02-18- 本文為大家介紹下關(guān)于HTML中的滾動條/去掉滾動條問題,下面有個不錯的示例,大家可以參考下2014-02-18
html讓局部強制出現(xiàn)滾動條不破壞整體的樣式和布局
局部出現(xiàn)滾動條,這樣就不會破壞整體的樣式和布局了,下面有個不錯的示例,大家可以拷貝代碼到文本文檔修改文本后綴名,txt 為 .html 預(yù)覽效果2013-10-18html與嵌入其中的flash均存在滾動條的情況分析及處理方法
a.swf被添加到網(wǎng)頁中, a.swf和html頁面同時存在滾動條, 項目經(jīng)理提了一個BT的需求---處理a.swf鼠標(biāo)滾動的時候html頁面不執(zhí)行滾動, 反之則執(zhí)行html頁面的滾動,遇到此問題的2013-01-23- 本文介紹html滾動條 textarea屬性設(shè)置:overflow內(nèi)容溢出時的設(shè)置,scrollbar-3d-light-color立體滾動條亮邊的顏色等等相關(guān)設(shè)置,有需要的朋友可以詳細(xì)參考下,希望對你們有幫2013-01-04
- 具體的表現(xiàn)就是頁面元素(這里以table為例)的滾動條在IE7中正常顯示,在IE6中不顯示。2009-07-25
- 這篇文章主要介紹了HTML 隱藏滾動條和去除滾動條的方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-01