HTML滾動條樣式代碼及使用技巧

2022-04-21 09:47 更新

在 html 網(wǎng)頁中,我們都知道大篇幅的長文章會占據(jù)網(wǎng)頁的大部分空間,影響了整體網(wǎng)站頁面的美觀性和閱讀體驗,因此,在 html 網(wǎng)頁中添加一個帶有滾動條的文本框,就可以很好地解決上述問題。網(wǎng)頁滾動條本身就是瀏覽器的一部分,使用它可以方便瀏覽較大的網(wǎng)頁,下面就是相關語法:

實例

color: #ffffff;
background-color: #000000;
border: solid 2px black;
width: 120px;
height: 200px;
overflow: scroll;
scrollbar-face-color: #889B9F;
scrollbar-shadow-color: #3D5054;
scrollbar-highlight-color: #C3D6DA;
scrollbar-3dlight-color: #3D5054;
scrollbar-darkshadow-color: #85989C;
scrollbar-track-color: #95A6AA;
scrollbar-arrow-color: #FFD6DA;

上述語法生成一個帶有黑色背景及灰藍色邊框的文本滾動框。語法里的參數(shù)相當簡單,主要是控制不同部分的色彩,你可以做相應變化并在預覽中觀看實際效果。至于調(diào)整文本框的大小,你可以在插入此語法后退出HTML編輯模式,然后在日志編輯頁面使用鼠標直接進行調(diào)整。



html中滾動條屬性設置

?scrollbar?屬性、樣式詳解

1、?overflow?內(nèi)容溢出時的設置(設定被設定對象是否顯示滾動條)
    ?overflow-x?水平方向內(nèi)容溢出時的設置
    ?overflow-y?垂直方向內(nèi)容溢出時的設置
    以上三個屬性設置的值為?visible?(默認值)、?scroll?、?hidden??、auto?。


2、? scrollbar-3d-light-color?立體滾動條亮邊的顏色(設置滾動條的顏色)
    ?scrollbar-arrow-color?上下按鈕上三角箭頭的顏色
    ?scrollbar-base-color?滾動條的基本顏色
    ?scrollbar-dark-shadow-color?立體滾動條強陰影的顏色
    ?scrollbar-face-color?立體滾動條凸出部分的顏色
    ?scrollbar-highlight-color?滾動條空白部分的顏色
    ?scrollbar-shadow-color?立體滾動條陰影的顏色

html滾動條


我們通過幾個實例來講解上述的樣式屬性:


1.讓瀏覽器窗口永遠都不出現(xiàn)滾動條

沒有水平滾動條
<body style="overflow-x:hidden">
沒有垂直滾動條
<body style="overflow-y:hidden">
沒有滾動條
<body style="overflow-x:hidden;overflow-y:hidden">或<body
style="overflow:hidden">


2.設定多行文本框的滾動條

沒有水平滾動條
<textarea style="overflow-x:hidden"></textarea>

沒有垂直滾動條
<textarea style="overflow-y:hidden"></textarea>

沒有滾動條
<textarea style="overflow-x:hidden;overflow-y:hidden"></textarea>
或<textarea style="overflow:hidden"></textarea>


3.設定窗口滾動條的顏色

設置窗口滾動條的顏色為紅色<body style="scrollbar-base-color:red">
scrollbar-base-color設定的是基本色,一般情況下只需要設置這一個屬性就可以達到改變滾動條顏色的目的。
加上一點特別的效果:
<body style="scrollbar-arrow-color:yellow;scrollbar-base-color:lightsalmon">


4.在樣式表文件中定義好一個類,調(diào)用樣式表。

<style>
.coolscrollbar{scrollbar-arrow-color:yellow;scrollbar-base-color:lightsalmon;}
</style>

這樣調(diào)用:
<textarea class="coolscrollbar"></textarea>

?Scrollbar-Face-Color?為滾動條表面顏色設定;
?Scrollbar-Highlight-Color?為滾動條上斜面和左斜面顏色設定;
?Scrollbar-Shadow-Color?為滾動條下斜面和右斜面顏色設定;
?Scrollbar-3Dlight-Color?為滾動條上邊和左邊的邊沿顏色設定;
?Scrollbar-Arrow-Color?為滾動條兩端箭頭顏色設定。
?Scrollbar-Track-Color?為滾動條底板顏色設定;
?Scrollbar-Darkshadow?為滾動條下邊和右邊邊沿顏色設定。

舉例:

 <textarea style="width:330px; overflow:scroll; overflow-x:hidden;"></textarea>


備注框

HTML各種滾動屬性代碼

<marquee>普通卷動</marquee> <br />   
<marquee behavior=slide>滑動</marquee>  <br />  
<marquee behavior=alternate>來回卷動 </marquee><br /> 
<marquee direction=down>向下卷動</marquee> <br /> 
<marquee direction=up>向上卷動</marquee> <br /> 
<marquee direction=right>向右卷動</marquee> <br /> 
<marquee direction=left>向左卷動</marquee> <br /> 
<marquee loop=2>卷動次數(shù)</marquee> <br />   
<marquee scrollamount=30>設定卷動距離</marquee> <br /> 

html滾動條顏色設置方法介紹

?scrollbar-arrow-color: color; ?/*三角箭頭的顏色*/
?scrollbar-face-color: color;? /*立體滾動條的顏色(包括箭頭部分的背景色)*/
?scrollbar-3dlight-color: color; ?/*立體滾動條亮邊的顏色*/
?scrollbar-highlight-color: color;? /*滾動條的高亮顏色(左陰影?)*/
?scrollbar-shadow-color: color;? /*立體滾動條陰影的顏色*/
?scrollbar-darkshadow-color: color;? /*立體滾動條外陰影的顏色*/
?scrollbar-track-color: color; ?/*立體滾動條背景顏色*/
?scrollbar-base-color: color; ?/*滾動條的基色*/


?webkit?不再是用簡單的幾個CSS屬性,而是一坨的CSS偽元素:
?-webkit-scrollbar ?滾動條整體部分
?-webkit-scrollbar-button? 滾動條兩端的按鈕
?-webkit-scrollbar-track ?外層軌道
?-webkit-scrollbar-track-piece? 內(nèi)層軌道,滾動條中間部分(除去)
?-webkit-scrollbar-thumb? (拖動條?滑塊?滾動條里面可以拖動的那個,腫么翻譯好呢?)
?-webkit-scrollbar-corner? 邊角
?-webkit-resizer ?定義右下角拖動塊的樣式

代碼

通過這些偽元素,可以完全的重寫一個網(wǎng)站的滾動條樣式。
當然webkit提供的不止這些,還有很多偽類,可以更豐富滾動條樣式:

?:horizontal – horizontal?偽類應用于水平方向的滾動條
?:vertical – vertical?偽類應用于豎直方向的滾動條
?:decrement – decrement?偽類應用于按鈕和內(nèi)層軌道(track piece)。它用來指示按鈕或者內(nèi)層軌道是否會減小視窗的位置(比如,垂直滾動條的上面,水平滾動條的左邊。)
?:increment – increment?偽類和?decrement?類似,用來指示按鈕或內(nèi)層軌道是否會增大視窗的位置(比如,垂直滾動條的下面和水平滾動條的右邊。)
?:start – start?偽類也應用于按鈕和滑塊。它用來定義對象是否放到滑塊的前面。
?:end  ?類似于start偽類,標識對象是否放到滑塊的后面。
?:double-button  ?該偽類以用于按鈕和內(nèi)層軌道。用于判斷一個按鈕是不是放在滾動條同一端的一對按鈕中的一個。對于內(nèi)層軌道來說,它表示內(nèi)層軌道是否緊靠一對按鈕。
?:single-button?  類似于double-button偽類。對按鈕來說,它用于判斷一個按鈕是否自己獨立的在滾動條的一段。對內(nèi)層軌道來說,它表示內(nèi)層軌道是否緊靠一個single-button。
?:no-button? 用于內(nèi)層軌道,表示內(nèi)層軌道是否要滾動到滾動條的終端,比如,滾動條兩端沒有按鈕的時候。
?:corner-present ? 用于所有滾動條軌道,指示滾動條圓角是否顯示。
?:window-inactive?  用于所有的滾動條軌道,指示應用滾動條的某個頁面容器(元素)是否當前被激活。(在webkit最近的版本中,該偽類也可以用于::selection偽元素。webkit團隊有計劃擴展它并推動成為一個標準的偽類)
另外,?:enabled?、?:disabled?、?:hover? 和 ?:active? 等偽類同樣可以用于滾動條中。

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?;設置或檢索滾動條亮邊框顏色;  

?scrollbar-highlight-color:color?;設置或檢索滾動條3D界面的亮邊顏色;  

?scrollbar-face-color:colo?r?;設置或檢索滾動條3D表面的顏色;  

?scrollbar-arrow-color:color?;設置或檢索滾動條方向箭頭的顏色;當滾動條出現(xiàn)但不可用時,此屬性失效;   

?scrollbar-shadow-color:color?;設置或檢索滾動條3D界面的暗邊顏色;  

?scrollbar-darkshadow-color:color?;設置或檢索滾動條暗邊框顏色;  

?scrollbar-base-color:color?;設置或檢索滾動條基準顏色。其它界面顏色將據(jù)此自動調(diào)整。   

?scrollbar-track-color:color?;設置或檢索滾動條的拖動區(qū)域顏色   


備注:  

color為你要設置的顏色代碼,可以是16進制的,比如#FF0000,可以是以RGB表示的,比如rgb(255,0,255);設置滾動條樣式的時候不必要把所有的屬性都用上才會生效。

 

(4)javascript 中的頁面元素定位

?clientX?、?clientY?是鼠標當前相對于網(wǎng)頁的位置,當鼠標位于頁面左上角時 clientX=0, clientY=0;

?offsetX?、?offsetY?是鼠標當前相對于網(wǎng)頁中的某一區(qū)域的位置,當鼠標位于頁面中這一區(qū)域的左上角時 offsetX=0, offsetY=0;

?screenX?、?screenY?是鼠標相對于用戶整個屏幕的位置;

x、y 是鼠標當前相對于當前瀏覽器的位置

?scrollLeft?:設置或獲取位于對象左邊界和窗口中目前可見內(nèi)容的最左端之間的距離(因為有滾動條的產(chǎn)生,所以目前頁面可見內(nèi)容是不定的)。

?scrollTop?:設置或獲取位于對象最頂端和窗口中可見內(nèi)容的最頂端之間的距離。

?left?:對象相對于頁面的X坐標。

?top?:對象相對于頁面的Y坐標

 

(5)屏蔽選擇,右鍵等

<body oncontextmenu=self.event.returnValue=falseonselectstart="return false">


  html


下面的這個小例子是 實現(xiàn)滾動條根據(jù)窗體的大小自動設置

[html]
<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> 

<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>

滾動條的使用是很常見的,它的相關知識也是相當?shù)亩?希望自己能在不斷的學習中,不斷的總結,使自己的學習能力和學習效率能有一定的提高.



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號