所謂第三方組件(widget),就是指我們提供給第三方網(wǎng)站使用的小模塊,如微博的關(guān)注按鈕,分享按鈕,社交化組件,微博秀等等。當我們的組件放在第三方網(wǎng)站上時,不經(jīng)意間會繼承東道主網(wǎng)站的某些樣式。但是,我們的目標是:保證自己組件樣式的展現(xiàn),即便寄人籬下,也不可丟失自己的個性!

通常我們會面臨如下一些問題。
一、被同樣的命名覆蓋
我們先來看看某些網(wǎng)站的公用文件的寫法:
eg1某網(wǎng)站:
clearfix這個命名,恐怕對于大多數(shù)的前端工程師都是再熟悉不過的了,這個詞基本已經(jīng)成為清除浮動某種方法的代名詞了。當然,這種清除浮動的方法可以用其他命名,這個class也可以用來定其他屬性。如果我們的組件恰好的也用了clearfix的命名,那么一定要想辦法避免被同樣命名的覆蓋。在微博的組件中,我們會在所有組件中的class命名上加上我們自己特有的前綴WB_widget, 其余命名:WB_widget_xxxx;雖然看起來這樣沒有什么節(jié)省代碼命名上的優(yōu)勢,但是確實可以避免一些簡單的class命名重復(fù)。當然,如果您偏要修改我們組件的樣式,偏偏要定義成和我們這樣具有特殊命名的class同名的話,那我們也是攔不住的。
二、繼承了多余的屬性
再來看看下面幾個網(wǎng)站的樣式:
eg2某網(wǎng)站:
eg3某網(wǎng)站:
eg4某網(wǎng)站:
eg5某網(wǎng)站:
看著上面幾個網(wǎng)站的通用寫法,這就意味著,如果我們只是簡單的定義,那么,我們的文本段落會有邊距,我們的鏈接會有背景色,我們的圖片都是塊元素單獨成一行,我們的文本區(qū)域都有著與第三方網(wǎng)站統(tǒng)一的邊框,而不是我們定義的顏色……碰到這么多無法稱之為樣式顯示bug的問題,一切都由于我們的組件規(guī)范的嚴謹性。那么如何保證網(wǎng)站對我們用的標簽沒有特殊定義?這個問題真正思考起來恐怕會得到一個很糾結(jié)的答案:除了考慮到我們經(jīng)常用到的那些css屬性之外,我們還要考慮到我們現(xiàn)在愛不釋手的css3屬性,既然考慮到了css3屬性,不可避免的要考慮到各個高級瀏覽器的兼容問題。
糾結(jié)之后,恐怕最后得出的結(jié)論使我們非常不喜歡的reset周全考慮:
這么大篇幅的reset,估計也只能說是盡量把常用的考慮進去了;具體還要看使用組件的第三方,網(wǎng)站的樣式到底會出現(xiàn)什么樣的特殊性。
                本文標題:在外闖蕩也不可迷失自我:淺談第三方組件的cssreset
                
                分享鏈接:http://chinadenli.net/article20/cjipco.html
            
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、用戶體驗、服務(wù)器托管、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)