經(jīng)驗(yàn)幾則 推薦
更新時(shí)間:2006年09月05日 00:00:00 作者:
以下是我開(kāi)發(fā)時(shí)碰到的問(wèn)題以及心得經(jīng)驗(yàn),花了些時(shí)間調(diào)試,貼出來(lái)避免大家少走彎路,如有錯(cuò)誤歡迎指正,持續(xù)更新ing
xml文件盡量以u(píng)tf-8編碼,gb2312有些字是存儲(chǔ)不了的,如©,就算能存也需要轉(zhuǎn)換,比較麻煩,utf-8也符合國(guó)際規(guī)范
CSS中:hover這個(gè)偽類,如果放在:visited前面則會(huì)失效
<a>標(biāo)簽如果沒(méi)有href屬性,所有對(duì)它的css的偽類如:hover均失效
js文件中用document.wirte("<script language='javascript' src='" + file + "'></" + "script>"形式的引用,其file相對(duì)路徑均為引用該js的html的路徑。
如:a.htm 引用x\b.js,b.js引用x\c.js,則file應(yīng)該為x\c.js而不是相對(duì)b.js的直接路徑c.js,而css中的@import,url()引用不存在這個(gè)問(wèn)題
在頁(yè)面中,有時(shí)talbe的寬設(shè)置為100%右邊也會(huì)留下一個(gè)滾動(dòng)條的空白,請(qǐng)?jiān)O(shè)置<body style="overflow:auto">
對(duì)于常用的圖片不要用img標(biāo)簽,使用<span><a>并用css指定其背景和寬高,對(duì)于做動(dòng)態(tài)的(移上去變背景),使用<a>最好,不需要額外編寫代碼,只要利用偽類:hover就好了,使用css好處是一次改變?nèi)扛淖?,這點(diǎn)可以很好的利用在換皮膚的應(yīng)用中
@font-face {
font-family:comic;
src:url(http://valid_url/some_font_file.eot);
}
定義一種在本地沒(méi)有的字體名稱,調(diào)用<span style="font-family:comic;font-size:18pt>aa</span>
幾個(gè)CSS
div { overflow: hidden;text-overflow:ellipsis; }
td { vertical-align : middle; }
要強(qiáng)制溢出發(fā)生并且應(yīng)用 ellipsis 值,作者必須設(shè)置對(duì)象的 white-space 屬性值為 nowrap 。
假如沒(méi)有換行機(jī)會(huì)(例如,對(duì)象容器的寬度是狹窄的,而內(nèi)有很長(zhǎng)的沒(méi)有合理斷行的文本),沒(méi)有應(yīng)用 nowrap 也有可能溢出。
為了使 ellipsis 值被應(yīng)用,此屬性必須被設(shè)置到具有不可視區(qū)域的對(duì)象。最好的選擇是設(shè)置 overflow 屬性為 hidden
firefox的document.createElement不支持內(nèi)容里有HTML標(biāo)簽,也不支持innerText,但是支持innerHTML,可以用innerHTML指定其內(nèi)容
.net控件里DropDownList在firefox下的寬度不著色,需要直接定義style='width:10px;'
firefox中css的cursor不支持hand,使用pointer代替
iframe里的滾動(dòng)條需要在iframe標(biāo)簽里設(shè)置style='overflow:hidden',不能僅僅在body里設(shè)置,在firefox會(huì)有問(wèn)題
在onpropertychange事件時(shí),注意使用event.propertyName對(duì)屬性改變事件過(guò)濾,在設(shè)置本事件時(shí),其實(shí)已經(jīng)改變了onpropertychange這個(gè)屬性,所以會(huì)自動(dòng)的執(zhí)行一次
js5.6里的對(duì)XSL的支持版本較低,如document函數(shù)就不支持
slice函數(shù)比直接循環(huán)獲取數(shù)組片斷慢
nextSibling獲得下一個(gè)對(duì)象時(shí),需要注意,兩個(gè)節(jié)點(diǎn)間不要有空格,否則很容易獲取不到正確得對(duì)象
CreateTextFile在有中文時(shí)必須指定第三個(gè)參數(shù)為true,否則不能寫入中文,表現(xiàn)為Write寫時(shí)報(bào)錯(cuò)
保存中文文本時(shí)使用ADODB.stream,不使用fso,因?yàn)镕SO不支持utf-8格式
2. 錨的偽類
我們最常用的是4種a(錨)元素的偽類,它表示動(dòng)態(tài)鏈接在4種不同的狀態(tài):link、visited、active、hover(未訪問(wèn)的鏈接、已訪問(wèn)的鏈接、激活鏈接和鼠標(biāo)停留在鏈接上)。我們把它們分別定義不同的效果:
a:link{color:#FF0000;text-decoration:none}/*未訪問(wèn)的鏈接*/
a:visited{color:#00FF00;text-decoration:none}/*已訪問(wèn)的鏈接*/
a:hover{color:#FF00FF;text-decoration:underline}/*鼠標(biāo)在鏈接上*/
a:active{color:#0000FF;text-decoration:underline}/*激活鏈接*/
(上面這個(gè)例子中,這個(gè)鏈接未訪問(wèn)時(shí)的顏色是紅色并無(wú)下劃線,訪問(wèn)后是綠色并無(wú)下劃線,激活鏈接時(shí)為藍(lán)色并有下劃線,鼠標(biāo)在鏈接上時(shí)為紫色并有下劃線)
注意:有時(shí)這個(gè)鏈接訪問(wèn)前鼠標(biāo)指向鏈接時(shí)有效果,而鏈接訪問(wèn)后鼠標(biāo)再次指向鏈接時(shí)卻無(wú)效果了。這是因?yàn)槟惆補(bǔ):hover放在了a:visited的前面,這樣的話由于后面的優(yōu)先級(jí)高,當(dāng)訪問(wèn)鏈接后就忽略了a:hover的效果。所以根據(jù)疊層順序,我們?cè)诙x這些鏈接樣式時(shí),一定要按照a:link,a:visited,a:hover,a:actived的順序書寫。
xml文件盡量以u(píng)tf-8編碼,gb2312有些字是存儲(chǔ)不了的,如©,就算能存也需要轉(zhuǎn)換,比較麻煩,utf-8也符合國(guó)際規(guī)范
CSS中:hover這個(gè)偽類,如果放在:visited前面則會(huì)失效
<a>標(biāo)簽如果沒(méi)有href屬性,所有對(duì)它的css的偽類如:hover均失效
js文件中用document.wirte("<script language='javascript' src='" + file + "'></" + "script>"形式的引用,其file相對(duì)路徑均為引用該js的html的路徑。
如:a.htm 引用x\b.js,b.js引用x\c.js,則file應(yīng)該為x\c.js而不是相對(duì)b.js的直接路徑c.js,而css中的@import,url()引用不存在這個(gè)問(wèn)題
在頁(yè)面中,有時(shí)talbe的寬設(shè)置為100%右邊也會(huì)留下一個(gè)滾動(dòng)條的空白,請(qǐng)?jiān)O(shè)置<body style="overflow:auto">
對(duì)于常用的圖片不要用img標(biāo)簽,使用<span><a>并用css指定其背景和寬高,對(duì)于做動(dòng)態(tài)的(移上去變背景),使用<a>最好,不需要額外編寫代碼,只要利用偽類:hover就好了,使用css好處是一次改變?nèi)扛淖?,這點(diǎn)可以很好的利用在換皮膚的應(yīng)用中
@font-face {
font-family:comic;
src:url(http://valid_url/some_font_file.eot);
}
定義一種在本地沒(méi)有的字體名稱,調(diào)用<span style="font-family:comic;font-size:18pt>aa</span>
幾個(gè)CSS
div { overflow: hidden;text-overflow:ellipsis; }
td { vertical-align : middle; }
要強(qiáng)制溢出發(fā)生并且應(yīng)用 ellipsis 值,作者必須設(shè)置對(duì)象的 white-space 屬性值為 nowrap 。
假如沒(méi)有換行機(jī)會(huì)(例如,對(duì)象容器的寬度是狹窄的,而內(nèi)有很長(zhǎng)的沒(méi)有合理斷行的文本),沒(méi)有應(yīng)用 nowrap 也有可能溢出。
為了使 ellipsis 值被應(yīng)用,此屬性必須被設(shè)置到具有不可視區(qū)域的對(duì)象。最好的選擇是設(shè)置 overflow 屬性為 hidden
firefox的document.createElement不支持內(nèi)容里有HTML標(biāo)簽,也不支持innerText,但是支持innerHTML,可以用innerHTML指定其內(nèi)容
.net控件里DropDownList在firefox下的寬度不著色,需要直接定義style='width:10px;'
firefox中css的cursor不支持hand,使用pointer代替
iframe里的滾動(dòng)條需要在iframe標(biāo)簽里設(shè)置style='overflow:hidden',不能僅僅在body里設(shè)置,在firefox會(huì)有問(wèn)題
在onpropertychange事件時(shí),注意使用event.propertyName對(duì)屬性改變事件過(guò)濾,在設(shè)置本事件時(shí),其實(shí)已經(jīng)改變了onpropertychange這個(gè)屬性,所以會(huì)自動(dòng)的執(zhí)行一次
js5.6里的對(duì)XSL的支持版本較低,如document函數(shù)就不支持
slice函數(shù)比直接循環(huán)獲取數(shù)組片斷慢
nextSibling獲得下一個(gè)對(duì)象時(shí),需要注意,兩個(gè)節(jié)點(diǎn)間不要有空格,否則很容易獲取不到正確得對(duì)象
CreateTextFile在有中文時(shí)必須指定第三個(gè)參數(shù)為true,否則不能寫入中文,表現(xiàn)為Write寫時(shí)報(bào)錯(cuò)
保存中文文本時(shí)使用ADODB.stream,不使用fso,因?yàn)镕SO不支持utf-8格式
2. 錨的偽類
我們最常用的是4種a(錨)元素的偽類,它表示動(dòng)態(tài)鏈接在4種不同的狀態(tài):link、visited、active、hover(未訪問(wèn)的鏈接、已訪問(wèn)的鏈接、激活鏈接和鼠標(biāo)停留在鏈接上)。我們把它們分別定義不同的效果:
a:link{color:#FF0000;text-decoration:none}/*未訪問(wèn)的鏈接*/
a:visited{color:#00FF00;text-decoration:none}/*已訪問(wèn)的鏈接*/
a:hover{color:#FF00FF;text-decoration:underline}/*鼠標(biāo)在鏈接上*/
a:active{color:#0000FF;text-decoration:underline}/*激活鏈接*/
(上面這個(gè)例子中,這個(gè)鏈接未訪問(wèn)時(shí)的顏色是紅色并無(wú)下劃線,訪問(wèn)后是綠色并無(wú)下劃線,激活鏈接時(shí)為藍(lán)色并有下劃線,鼠標(biāo)在鏈接上時(shí)為紫色并有下劃線)
注意:有時(shí)這個(gè)鏈接訪問(wèn)前鼠標(biāo)指向鏈接時(shí)有效果,而鏈接訪問(wèn)后鼠標(biāo)再次指向鏈接時(shí)卻無(wú)效果了。這是因?yàn)槟惆補(bǔ):hover放在了a:visited的前面,這樣的話由于后面的優(yōu)先級(jí)高,當(dāng)訪問(wèn)鏈接后就忽略了a:hover的效果。所以根據(jù)疊層順序,我們?cè)诙x這些鏈接樣式時(shí),一定要按照a:link,a:visited,a:hover,a:actived的順序書寫。
相關(guān)文章
基于原生JavaScript實(shí)現(xiàn)SPA單頁(yè)應(yīng)用
單頁(yè)Web應(yīng)用?(single?page?web?application,SPA)?,就是只有一張Web頁(yè)面的應(yīng)用,是加載單個(gè)HTML?頁(yè)面并在用戶與應(yīng)用程序交互時(shí)動(dòng)態(tài)更新該頁(yè)面的Web應(yīng)用程序。本文將利用原生JS實(shí)現(xiàn)SPA單頁(yè)應(yīng)用,需要的可以參考一下2023-03-03
JS 組件系列之Bootstrap Table 凍結(jié)列功能IE瀏覽器兼容性問(wèn)題解決方案
這篇文章主要介紹了JS 組件系列之Bootstrap Table 凍結(jié)列功能IE瀏覽器兼容性問(wèn)題解決方案,需要的朋友可以參考下2017-06-06
阻止子元素繼承父元素事件具體思路及實(shí)現(xiàn)
想要阻止點(diǎn)擊#p_cont區(qū)域時(shí)觸發(fā)a事件,需要在#p_cont區(qū)域內(nèi)加入阻止事件冒泡的代碼,具體實(shí)現(xiàn)祥看本文,希望對(duì)你有所幫助2013-05-05
js分頁(yè)之前端代碼實(shí)現(xiàn)和請(qǐng)求處理
這篇文章主要為大家詳細(xì)介紹了js分頁(yè)之前端代碼實(shí)現(xiàn)和請(qǐng)求處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
使用JS中的exec()方法構(gòu)造正則表達(dá)式驗(yàn)證
這篇文章主要介紹了使用JS中的exec()方法構(gòu)造正則表達(dá)式驗(yàn)證的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
JS一級(jí)數(shù)組和數(shù)組對(duì)象合并去重方法實(shí)例
這篇文章主要為大家介紹了JS一級(jí)數(shù)組和數(shù)組對(duì)象合并去重方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
關(guān)于JS數(shù)組追加數(shù)組采用push.apply的問(wèn)題
JS數(shù)組追加數(shù)組沒(méi)有現(xiàn)成的函數(shù),這么多年我已經(jīng)習(xí)慣了a.push.apply(a, b);這種自以為很酷的,不需要寫for循環(huán)的寫法,一直也沒(méi)遇到什么問(wèn)題,直到今天我要append的b是個(gè)很大的數(shù)組時(shí)才遇到了坑。2014-06-06

