關(guān)于HTML中的滾動(dòng)條/去掉滾動(dòng)條問(wèn)題
來(lái)源:易賢網(wǎng) 閱讀:806 次 日期:2016-06-16 11:50:08
溫馨提示:易賢網(wǎng)小編為您整理了“關(guān)于HTML中的滾動(dòng)條/去掉滾動(dòng)條問(wèn)題”,方便廣大網(wǎng)友查閱!

1.xhtml下滾動(dòng)條的顏色問(wèn)題

在原來(lái)的html的時(shí)候,我們可以這樣定義整個(gè)頁(yè)面的滾動(dòng)條:

代碼如下:

body{

scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/

scrollbar-highlight-color:#fff; /*- 左二 -*/

scrollbar-face-color:#E4E4E4; /*- 面子 -*/

scrollbar-arrow-color:#666; /*- 箭頭 -*/

scrollbar-shadow-color:#808080; /*- 右二 -*/

scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/

scrollbar-base-color:#D7DCE0; /*- 基色 -*/

scrollbar-track-color:#;/*- 滑道 -*/

}

但是同樣的代碼,我們應(yīng)用在 xhtml下就不起作用了,我相信好多好朋友也遇到過(guò)同樣的問(wèn)題。

那么怎么才能在xhtml下應(yīng)用滾動(dòng)條樣式呢?看下列代碼:

代碼如下:

html{

scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/

scrollbar-highlight-color:#fff; /*- 左二 -*/

scrollbar-face-color:#E4E4E4; /*- 面子 -*/

scrollbar-arrow-color:#666; /*- 箭頭 -*/

scrollbar-shadow-color:#808080; /*- 右二 -*/

scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/

scrollbar-base-color:#D7DCE0; /*- 基色 -*/

scrollbar-track-color:#;/*- 滑道 -*/

}

這段代碼和上一段唯一的不同就是在css定義的元素上,一個(gè)是body一個(gè)是html。我們?cè)贉y(cè)試一下,把html頁(yè)面的“body”修改成“html”測(cè)試一下,發(fā)現(xiàn)依然可以實(shí)現(xiàn)效果。那到底是為什么呢?

我們來(lái)看一下下面的圖:

這就是html最基本的dom樹(shù)結(jié)構(gòu)。

我們?cè)倏纯磆tml和xhtml的定義:

HTML (Hyper Text Markup Language,超文件標(biāo)記語(yǔ)言),超文件標(biāo)記語(yǔ)言廣泛應(yīng)用于國(guó)際互聯(lián)網(wǎng)上.HTML描述了文本基準(zhǔn)如何進(jìn)行呈現(xiàn),以及超級(jí)連接如何連接到另外的頁(yè)面。

XHTML (Extensible Hypertext Markup Language,可擴(kuò)展的超文件標(biāo)記語(yǔ)言),是一種標(biāo)記語(yǔ)言,表現(xiàn)方式與 HTML類似, 不過(guò)語(yǔ)法上更加嚴(yán)格。從繼承關(guān)系上講,HTML是一種基于SGML的應(yīng)用,非常靈活,而XHTML則基于XML,XML是SGML的一個(gè)子集。XHTML 1.0 在2000年1月26日成為 W3C 的推薦標(biāo)準(zhǔn)。

從字面上來(lái)看,xhtml比html多一個(gè)x,那么這個(gè)x其實(shí)也就是xml,為什么要加一個(gè)xml在里面?其實(shí)最根本的原因就是要讓html更加結(jié)構(gòu)化標(biāo)準(zhǔn)化(因?yàn)閔tml實(shí)在是太爛)。

OK,我們回來(lái)看上面的結(jié)構(gòu)樹(shù),我們?cè)趆tml里面定義的是body,因?yàn)閔tml不是很標(biāo)準(zhǔn)所以這樣可以生效,而在xhtml里面這樣就不行了,我看看那個(gè)圖很明顯,body標(biāo)簽本身不是根元素,只有html才是根元素,而頁(yè)面的滾動(dòng)條也是屬于根元素的,所以這就是我們?yōu)槭裁炊xbody沒(méi)有效果的原因,因?yàn)槲覀兌x的只是一個(gè)子原素。OK,我們知道了原理,來(lái)做一個(gè)試驗(yàn)如果把定義“body”或“xhtml”換成“*”:

代碼如下:

*{

scrollbar-3dlight-color:#D4D0C8; /*- 最外左 -*/

scrollbar-highlight-color:#fff; /*- 左二 -*/

scrollbar-face-color:#E4E4E4; /*- 面子 -*/

scrollbar-arrow-color:#666; /*- 箭頭 -*/

scrollbar-shadow-color:#808080; /*- 右二 -*/

scrollbar-darkshadow-color:#D7DCE0; /*- 右一 -*/

scrollbar-base-color:#D7DCE0; /*- 基色 -*/

scrollbar-track-color:#;/*- 滑道 -*/

}

在html和xhtml都通過(guò),因?yàn)?就是定義頁(yè)面上的任何標(biāo)簽當(dāng)然也包括了“html”這個(gè)標(biāo)簽。

(ps:其實(shí)與其說(shuō)是html與xhtml的區(qū)別到不如說(shuō)是有無(wú)XHTML 1.0 transitional doctype的區(qū)別,但是如果你把頁(yè)面的XHTML 1.0 transitional doctype去掉的話,那么這個(gè)頁(yè)面就沒(méi)有doctype,默認(rèn)的顯示方式就是html4.01,不過(guò)你要把XHTML 1.0 transitional doctype修改成HTML 4.01 doctype同樣頁(yè)面定義body也不會(huì)有效果的,雖然這個(gè)頁(yè)面的標(biāo)準(zhǔn)是html 4.01)

2、xhtml下frame頁(yè)面橫向滾動(dòng)條的問(wèn)題

在用ie6瀏覽有框架的xhtml頁(yè)面的時(shí)候,默認(rèn)會(huì)水平和垂直滾動(dòng)條會(huì)一起出現(xiàn),這是ie6的一個(gè)bug,在firefox上是正常的,出現(xiàn)的原因是其對(duì)XHTML 1.0 transitional doctype的解釋缺陷。

對(duì)于這個(gè)bug一般有3種解決方案,

方法1:

代碼:

html { overflow-y: scroll; }

原理:強(qiáng)制顯示ie的垂直滾動(dòng)條,而忽略水平滾動(dòng)條。

優(yōu)點(diǎn):完全解決了這個(gè)問(wèn)題, 允許你保持完整的XHTML doctype 。

缺點(diǎn):即使頁(yè)面不需要垂直滾動(dòng)條的時(shí)候也會(huì)出現(xiàn)垂直滾動(dòng)條。

方法2:

代碼:

html { overflow-x: hidden; overflow-y: auto; }

原理:隱藏橫向滾動(dòng),垂直滾動(dòng)根據(jù)內(nèi)容自適應(yīng)。

優(yōu)點(diǎn):在視覺(jué)上解決了這個(gè)問(wèn)題。在不必要的時(shí)候,未強(qiáng)制垂直滾動(dòng)條出現(xiàn)。

缺點(diǎn):只是隱藏了水平滾動(dòng)條,如果頁(yè)面真正需要水平滾動(dòng)條的時(shí)候,屏幕以外的內(nèi)容會(huì)因?yàn)橛脩魺o(wú)法水平滾動(dòng),而看不到。

方法3:

代碼:

body { margin-right: -15px; margin-bottom: -15px; }

原理:這會(huì)在margin的水平和垂直方向上添加一個(gè)負(fù)值,IE添加了該精確數(shù)值后,便會(huì)去除對(duì)滾動(dòng)條的需求假象。

優(yōu)點(diǎn):在視覺(jué)上解決了這個(gè)問(wèn)題,垂直滾動(dòng)根據(jù)內(nèi)容自適應(yīng)。

缺點(diǎn):由于“人為創(chuàng)建”了15px的外邊距(margin),所以無(wú)法使用該填充過(guò)的屏幕區(qū)域。

<body scroll=no>

去掉水平滾動(dòng)條:

<body style="overflow-x: hidden">

去掉豎直滾動(dòng)條:

<body style="overflow-y: hidden">

隱藏橫向滾動(dòng)條,顯示縱向滾動(dòng)條:

<body style="overflow-x:hidden;overflow-y:scroll">

全部隱藏

<body style="overflow:hidden">

或者是

<body scroll="no">

這里先說(shuō)一下滾動(dòng)條的屬性代碼:

overflow-y : visible | auto | hidden | scroll

visible :  不剪切內(nèi)容也不添加滾動(dòng)條。

auto :  在需要時(shí)剪切內(nèi)容并添加滾動(dòng)條

hidden :  不顯示超過(guò)對(duì)象高度的內(nèi)容,這里不對(duì)這個(gè)屬性作介紹,大家喜歡的話可以自己嘗試

scroll :  總是顯示縱向滾動(dòng)條

首先我現(xiàn)說(shuō)一下去掉滾動(dòng)條的方法:

如果用百度風(fēng)格模版的話,滾動(dòng)條只可能有一個(gè),那就是整個(gè)空間右邊最大的瀏覽器窗口滾動(dòng)條,也就是我美化過(guò)的那個(gè)滾動(dòng)條,現(xiàn)在告訴大家,我們可以把這個(gè)滾動(dòng)條去掉,但是卻不影響瀏覽的方法:

在body

{}中加入overflow-y :

visible就可以了,這樣滾動(dòng)條就不會(huì)顯示出來(lái)了。大家可能會(huì)問(wèn),這樣怎么往下拉?呵呵,既然我說(shuō)了不影響瀏覽,那當(dāng)然是有方法的,瀏覽的方法就是用

鼠標(biāo)的滾輪,雖然滾動(dòng)條沒(méi)了,可是鼠標(biāo)滾輪還是能夠讓網(wǎng)頁(yè)上下滾動(dòng)的。我相信大家一般瀏覽網(wǎng)頁(yè)的時(shí)候用滾輪下拉網(wǎng)頁(yè)的次數(shù)應(yīng)該比直接用鼠標(biāo)拖動(dòng)滾動(dòng)條的次

數(shù)多吧?提示下,如果碰到?jīng)]有滾動(dòng)條而鼠標(biāo)又沒(méi)有滾輪的朋友,該怎么瀏覽網(wǎng)頁(yè)呢?呵呵,大家可以用鍵盤(pán)上面的方向鍵上方的PageUp和PageDown

來(lái)上下翻頁(yè),也可以用空格往下拉網(wǎng)頁(yè)和Shift+空格往上拉網(wǎng)頁(yè),還有一個(gè)方法就是用上下方向鍵來(lái)拉動(dòng),另外還有按Home鍵回到網(wǎng)頁(yè)頂部,End鍵到

達(dá)網(wǎng)頁(yè)底部,呵呵,是不是方法很多呢?不過(guò)這樣總會(huì)有那么一些些的不方便,所以大家可以根據(jù)自己的空間和喜好來(lái)考慮要不要取消這個(gè)滾動(dòng)條。

哈哈,想不到啰哩叭嗦地,一下說(shuō)了這么多話

下面我們說(shuō)添加滾動(dòng)條的方法:

overflow-y : auto;height:多少px

auto

就是自動(dòng)判斷要不要加入滾動(dòng)條,當(dāng)設(shè)定的對(duì)象內(nèi)容超過(guò)了height設(shè)定的高度時(shí),就自動(dòng)添加滾動(dòng)條,不然則不顯示,body{}中的默認(rèn)值就是

overflow-y : auto;height:瀏覽器高度,所以當(dāng)網(wǎng)頁(yè)內(nèi)容超過(guò)瀏覽器高度的時(shí)候,瀏覽器右邊就會(huì)自動(dòng)顯現(xiàn)出滾動(dòng)條來(lái)

大家如

果需要設(shè)置這個(gè)的話,本人建議設(shè)置在最新評(píng)論#m_comment{}、文章列表#m_blog{}等內(nèi)容和高度都不固定的模版中,有的朋友找不到這些模

版的ID,可能只有例如#m_comment div.item{}或者#m_pro a{}等的ID,那么可以自己加上沒(méi)有的ID,這樣就可以設(shè)置了

這里還有另一個(gè)添加滾動(dòng)條的方法:

overflow-y :scroll

這個(gè)參數(shù)的作用上面解釋過(guò)了,不過(guò)如果只加這個(gè)參數(shù)的話,雖然滾動(dòng)欄會(huì)顯示,但是不會(huì)顯示滾動(dòng)條,所以必須還要加上一個(gè)

height:多少px

高度屬性,跟上面的那個(gè)方法差不多,但是有根本的區(qū)別,這個(gè)無(wú)論對(duì)象內(nèi)容的高度是否超過(guò)了height設(shè)定的高度,滾動(dòng)欄永遠(yuǎn)都會(huì)顯示在邊上的

下面我們說(shuō)一下關(guān)于滾動(dòng)條的美化,這個(gè)我朋友給我看了網(wǎng)上的一個(gè)說(shuō)明,我覺(jué)得上面的圖很不錯(cuò),但是很小,所以我放大了一倍,看起來(lái)就清楚多了,我們先說(shuō)一下美化的各個(gè)屬性:

代碼如下:

SCROLLBAR-FACE-COLOR: 顏色代碼;

SCROLLBAR-HIGHLIGHT-COLOR:顏色代碼;

SCROLLBAR-SHADOW-COLOR: 顏色代碼;

SCROLLBAR-3DLIGHT-COLOR: 顏色代碼;

SCROLLBAR-ARROW-COLOR: 顏色代碼;

SCROLLBAR-TRACK-COLOR: 顏色代碼;

SCROLLBAR-DARKSHADOW-COLOR: 顏色代碼;

大家是不是看到這么多屬性有點(diǎn)點(diǎn)頭大了?哈哈,放心,看一下我剛才提及的被我放大了一倍的圖解你們就會(huì)感覺(jué)好多了:

這里的圖片上還有一個(gè)scrollbar-base-color的屬性,其實(shí)這個(gè)屬性是個(gè)上面7個(gè)屬性的總合,怎么說(shuō)呢?就是當(dāng)你設(shè)定了這個(gè)屬性的顏色后,

前面的7個(gè)屬性都可以不用設(shè)置了,滾動(dòng)條會(huì)自動(dòng)幫你設(shè)定的,只是這個(gè)設(shè)定都會(huì)基于你設(shè)定的scrollbar-base-color的顏色而自動(dòng)設(shè)定

這個(gè)屬性的優(yōu)點(diǎn)就是不用大家費(fèi)盡心思的去研究各個(gè)地方的顏色,但是缺點(diǎn)就是不能夠融和五顏六色于一體。。

注:設(shè)定了scrollbar-base-color就不要設(shè)定其他七個(gè)屬性了,設(shè)定了其他七個(gè)屬性就不要設(shè)定scrollbar-base-color,不然之間可能會(huì)有沖突,會(huì)有一些效果不起作用的

最后,還是考慮到大家可能會(huì)喜歡我的美化代碼[真臭美~],我把我的美化代碼貼出來(lái):

代碼如下:

SCROLLBAR-FACE-COLOR: #CCFFFF;

SCROLLBAR-HIGHLIGHT-COLOR: white;

SCROLLBAR-SHADOW-COLOR: #813533;

SCROLLBAR-3DLIGHT-COLOR: #813533;

SCROLLBAR-ARROW-COLOR: #813533;

SCROLLBAR-TRACK-COLOR: white;

SCROLLBAR-DARKSHADOW-COLOR: #813533;

以上代碼本人是加在body{}中的

更多信息請(qǐng)查看網(wǎng)頁(yè)制作
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!
相關(guān)閱讀網(wǎng)頁(yè)制作

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)