【重構(gòu)筆記-2】工作中遇到的問題總結(jié)

1. @media \0screen,screen\9
利用 @media \0screen,screen\9{}可以實(shí)現(xiàn)只修改IE8的樣式,但是偽類選擇器中設(shè)置的樣式會(huì)失效。

2. 背景色設(shè)置半透明兼容

  • 由于IE8及以下不支持rgba,因此對(duì)于IE8可使用filter定義半透明。
  • IE9同時(shí)支持filter和rgba屬性,因此會(huì)導(dǎo)致IE9下顏色產(chǎn)生疊加,因此對(duì)于IE8需要單獨(dú)處理。
    只兼容到IE8
    
    .style{background:rgba(0,0,0,.5);}
    @media \0screen\,screen\9{         
    

.style{filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#7F000000',endColorstr='#7F000000');}
}
```

3. 帶邊框的三角形箭頭
利用兩個(gè)偽類元素:before和:after上下疊加

//實(shí)現(xiàn)一個(gè)向下的箭頭
.arrow:before,.arrow:after{content: "";display: block;position: absolute;width: 0;height: 0;border-style: solid;border-color: transparent;}
//:before實(shí)現(xiàn)箭頭的邊框
.arrow:before{border-width: 14px 8px 0 8px;border-top-color:#e0dede;left: 0px;bottom: 0;}
//:after實(shí)現(xiàn)箭頭的主體部分
.arrow:after{border-width: 13px 7px 0 7px;border-top-color:#ffffff;left: 1px;bottom: 1px;}

4. 繼承inherit
改變父元素的屬性值,子元素中相同的屬性值如果設(shè)置為inherit,就能跟著父元素改變,這樣可以提高代碼后期的可維護(hù)性。

5. iframe解決彈窗被flash遮擋的問題

  • 在flash上面蓋一個(gè)iframe就可以解決該問題,層級(jí)關(guān)系是 彈窗>iframe>flash。
  • 但是IE下iframe背景無法設(shè)置為透明,解決的辦法只能是制作非透明的規(guī)則彈窗,然后iframe的大小和該彈窗一致并至于彈窗下面。

** 6. box-sizing:border-box兼容性**
在IE8下,如果設(shè)置了元素的min/max-width/height,會(huì)忽略box-sizing:border-box。

7. 文字顏色漸變的幾種方法:

  • 利用mask-image屬性,需要給標(biāo)簽的data-textVal屬性賦值,再利用:after偽類元素content:attr(data-textVal)獲取該屬性。如果文字是動(dòng)態(tài)變化的,那么需要?jiǎng)討B(tài)為data-textVal賦值。此外,目前只兼容webkit內(nèi)核的瀏覽器。
  • 結(jié)合background-clip和text-fill-color實(shí)現(xiàn),也只能在webkit內(nèi)核瀏覽器中實(shí)現(xiàn)。但是在移動(dòng)端,由于-webkit-gradient()和-webkit-background-clip的兼容性不一致,因此移動(dòng)端還是存在兼容性問題導(dǎo)致部分機(jī)型只能展示漸變背景而沒有文案。
  • 利用mix-blend-mode css3混合模式實(shí)現(xiàn),同時(shí)結(jié)合:before和:after,兼容性相對(duì)a、b較好,但是對(duì)于動(dòng)態(tài)變化的文字,同樣需要?jiǎng)討B(tài)賦值data-textVal屬性。
  • 利用svg實(shí)現(xiàn)文字漸變,兼容性較好,會(huì)讓html結(jié)構(gòu)中代碼增多。
  • canvas技術(shù)實(shí)現(xiàn)文字漸變,增加了js代碼,文案變化不靈活。

8. 瀏覽器對(duì)px的小數(shù)點(diǎn)數(shù)值的解析

  • 四舍五入:IE8、IE9、Chrome、Firefox
  • 取整:IE7及以下、Safari

9. 如何規(guī)劃CSS Sprites圖片可以使圖片更優(yōu)化的方法

  • 將顏色相近或者相同的圖標(biāo)組合在一起可以降低顏色數(shù),從而減少文件體積。
  • 相同尺寸的CSS Sprites圖片,垂直排列圖標(biāo)會(huì)比水平排列的文件體積大。
  • 在CSS Sprites圖片中,水平排列圖標(biāo)會(huì)比垂直排列的文件體積大。

10. 首字母下沉
利用 :first-letter{float:left;} 實(shí)現(xiàn)一段文字中第一個(gè)文字下沉的效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,152評(píng)論 1 92
  • H5移動(dòng)端知識(shí)點(diǎn)總結(jié) 閱讀目錄 移動(dòng)開發(fā)基本知識(shí)點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,829評(píng)論 0 26
  • 移動(dòng)開發(fā)基本知識(shí)點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,725評(píng)論 0 6
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,828評(píng)論 1 19
  • 人生如此美好,你要認(rèn)真生活——此詩獻(xiàn)給妹妹小八我從不背叛生活的愛情在一切陌生歸于熟悉是瘋子飲酒后的胡言亂語曾經(jīng)愿有...
    郁衡子閱讀 465評(píng)論 5 5

友情鏈接更多精彩內(nèi)容