掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
做過前端開發(fā)的朋友都應(yīng)該知道,兼容性問題是讓我們特別頭暈的事情,很多時候我們需要話20%甚至更多的時間去解決我們寫出來的頁面的兼容性問題。而兼容性問題是存在各個方面的,表單的兼容性尤其讓很多人頭疼;普通的標(biāo)簽可能在適用html5的瀏覽器上可能兼容性問題已經(jīng)得到了很好的解決,而表單的兼容性依然讓人抓狂的。
很多搞前端的朋友都在想,如果世界上的瀏覽器都是同一種的同一個版本該多好啊,就可以解放更多的時間用于做更有意義的事情。當(dāng)然事實上,確實而隨著微軟放棄,很多項目已經(jīng)舍棄了IE6的支持,也有部分已經(jīng)舍棄了對IE7的支持,更有一些已經(jīng)舍棄了對IE8的支持。但有時候項目需求,我們必須解決一些問題,這是不可逃避的。
而實際上解決這類問題,我們完全可以采取虛虛實實的策略,這點對于處理表單的兼容性是特別有用的。比如表單的輸入框、單選框、復(fù)選框、下拉框,我們很多時候用替換的思想就可以避免表單標(biāo)簽的兼容性差的問題,而把容易出問題交給普通標(biāo)簽,而普通標(biāo)簽兼容性將更強(qiáng)。
下面以一個例子來說明,當(dāng)然這個例子中就算用完全的表單標(biāo)簽來做兼容性也算可以,只是提供一種思路;當(dāng)然實際上的項目當(dāng)中,我也會采取這種策略,因為我還是比較喜歡那種常規(guī)的標(biāo)簽,也許這也是屬于一種強(qiáng)迫癥吧。
上面這個就是我們正在做的一個項目的一個小部分——一個普通的評論框,當(dāng)然這個沒什么技術(shù)難點。而實際上很多人,特別是剛?cè)腴T不就的開發(fā)者,總是固定的思維,把邊框加在了輸入框里邊。而實際上的結(jié)構(gòu)并不是這樣的,我們就是用一個普通的標(biāo)簽div來代替textarea應(yīng)該做的事情——如這里的邊框和內(nèi)邊距等。如圖就是它的基本層次結(jié)構(gòu)。
我們也可以分享給大家這個部分的html部分的源代碼,而CSS代碼就不貼出來的,如果貼出來很多人可能直接照搬過去,對與實踐沒任何意義。其實看了html的結(jié)構(gòu)基本上就知道CSS該怎么寫,當(dāng)然這個人得具備最起碼的項目實踐能力。
這個例子是一個特別簡單,然而又是特別典型的;而這種虛虛實實的思維對我們處理前端的某些疑難雜癥是特別實用的。而且這些東西基本上不會有人分享,包括我在這里也僅僅是分享一個特別簡單的例子,因為這樣的問題實在是不好表單,我們可以理解為是“只可意會不可言傳”吧,而標(biāo)準(zhǔn)的教材里面更是不會用有限的篇幅來寫這些東西的。而掌握這些技巧的方法,沒別的路徑,只有吸收別人的思維,然后去多實踐。
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流