1、 css的偽元素選擇器,Web前端開發(fā)好不好學(xué)?
前端的圖片優(yōu)化的6種方案
1、使用base64編碼代替圖片
場(chǎng)景:適用于圖片大小小于2KB,頁(yè)面上引用圖片總數(shù)不多的情況 原理:將圖片轉(zhuǎn)換為base64編碼字符串inline到頁(yè)面或css中 優(yōu)勢(shì):減少http的請(qǐng)求次數(shù),并可以放到后臺(tái)數(shù)據(jù)庫(kù)中,只傳輸字符串,有較多的構(gòu)建工具可以直接實(shí)現(xiàn)劣勢(shì):這種方法僅限于圖片總數(shù)較少,而且圖片大小小于2KB的情況。否則圖片字符串會(huì)變得很長(zhǎng)很長(zhǎng)
2、合并圖片sprite(雪碧圖)
場(chǎng)景:任何用到頁(yè)面圖片的場(chǎng)景 原理:將多個(gè)頁(yè)面上用到的背景圖片合并成一個(gè)大的圖片在頁(yè)面中引用 優(yōu)勢(shì):可以有效的較少請(qǐng)求個(gè)數(shù),而且,而不影響開發(fā)體驗(yàn),使用構(gòu)建插件可以做到對(duì)開發(fā)者透明。適用于頁(yè)面圖片多且豐富的場(chǎng)景。劣勢(shì):生成的圖片體積較大,減少請(qǐng)求個(gè)數(shù)同時(shí)也增加了圖片大小,不合理拆分將不利于并行加載
3、使用css、svg、canvas或iconfont代替圖片
css代替圖片
場(chǎng)景:適用于移動(dòng)端或較高級(jí)的瀏覽器,而且繪制的圖案較為簡(jiǎn)單。 原理:css方式可以用來繪制相對(duì)簡(jiǎn)單的團(tuán)來代替圖片,一般使用before或者after偽元素來豐富圖案的復(fù)雜度。 優(yōu)勢(shì):具有實(shí)現(xiàn)簡(jiǎn)單,圖片體積小的特點(diǎn),可以實(shí)現(xiàn)簡(jiǎn)單的動(dòng)態(tài)效果劣勢(shì):也受限于css的兼容性特點(diǎn),繪制復(fù)雜圖案困難svg的描述和適用場(chǎng)景上文已說明。
canvas代替圖片
場(chǎng)景:需要高性能的圖片或動(dòng)畫 原理:適用html5的canvas元素繪制創(chuàng)建圖片優(yōu)勢(shì):整個(gè)就是畫2D圖形時(shí),頁(yè)面渲染性能比較高,頁(yè)面渲染性能受圖形復(fù)雜度影響小,性能只受圖形的分辨率的影響,畫出來的圖形可以直接保存為 .png 或者.jpg的圖形,適合于畫光柵圖像或者不規(guī)則圖形 劣勢(shì):沒有dom操作,必須依賴定時(shí)器,文字渲染性能差,不能添加描述(title屬性什么的),兼容性限制
iconfont是一種web字體來代替圖片的解決方案
場(chǎng)景:代替頁(yè)面上色彩單一的圖片
優(yōu)勢(shì):兼容性好,應(yīng)用廣,目前使用也很廣泛
劣勢(shì):但是由于字體的顏色設(shè)置單一,只能用于代替顏色單一的圖片,對(duì)于色彩復(fù)雜的圖片,iconfont處理起來比較困難
4、響應(yīng)式圖片
場(chǎng)景:不同終端對(duì)同一個(gè)圖片需求不一樣,可以根據(jù)終端加載不同的圖片來節(jié)省沒必要的流量 原理:通過picture元素,picturefill或平臺(tái)判斷來為不同終端平臺(tái)輸出不同的圖片 優(yōu)勢(shì):減少?zèng)]必
2、 css選擇器項(xiàng)目符號(hào)圖像是什么?
css樣式屬性list-style-image :設(shè)定列表項(xiàng)目符號(hào)的自定義圖像。其值是一個(gè)引用圖像的URL路徑。
url ( url ) —— 使用絕對(duì)或相對(duì) url 地址指定圖像。
3、 對(duì)編程零基礎(chǔ)想學(xué)python編程?
零基礎(chǔ)就可以入門,python作為一門解釋型語(yǔ)言,設(shè)計(jì)之初就是面向大眾,降低編程入門的門檻,而且隨著人工智能、大數(shù)據(jù)的興起,python的應(yīng)用和前景也越來越好,下面我簡(jiǎn)單介紹一下學(xué)習(xí)python的基本過程:
1.首先,最基本的就是搭建本地python環(huán)境,這里推薦直接安裝Anaconda,集成了python解釋器及眾多第三方庫(kù),還自帶notebook,spyder等開發(fā)環(huán)境,是一個(gè)很不錯(cuò)的軟件,至于是python2還是python3,建議直接python3,python2會(huì)在2020年停止更新和維護(hù):
安裝完成后,可以進(jìn)入開始菜單,選擇IPython Notebook進(jìn)行編程,一個(gè)基于Web頁(yè)面的編程環(huán)境,界面整潔、簡(jiǎn)單友好,使用起來非常不錯(cuò):
當(dāng)然,熟悉后,你也可以使用spyder,pycharm等專門的IDE來進(jìn)行python開發(fā),都可以:
2.入門python,這里的資料就很多了,有網(wǎng)上的教學(xué)視頻,也有相應(yīng)的參考書籍,根據(jù)自己實(shí)際情況,選擇一種合適的方式,一邊學(xué)習(xí),一邊練習(xí)代碼和示例,不要只看不練,掌握好基本功,包括變量、語(yǔ)句、函數(shù)、類、文件操作、正則表達(dá)式、異常處理等,穩(wěn)打穩(wěn)扎,不要急功近利,基于求成:
3.最后就是進(jìn)階深入階段了,這個(gè)時(shí)候,就可以根據(jù)自己興趣,市場(chǎng)需求,找一兩個(gè)有前景的方向深入學(xué)習(xí)了,python涉及的方面太多了,Web開發(fā)、數(shù)據(jù)處理、機(jī)器學(xué)習(xí)、運(yùn)維、測(cè)試等,每個(gè)方向都投入精力,顯然是不可能的,堅(jiān)持一兩個(gè)方向就行,像機(jī)器學(xué)習(xí)、爬蟲等:
就分享這么多吧,初學(xué)階段,最重要的還是要多練習(xí),掌握好基本功,在進(jìn)階階段,就是多做項(xiàng)目,多積累經(jīng)驗(yàn),這樣自己才能不斷提高,希望以上分享的內(nèi)容能對(duì)你有所幫助吧,也歡迎大家留言、評(píng)論。
4、 css選擇器的分類不包括什么?
css的選擇器的分類不包括“超文本標(biāo)記選擇器”。
css的選擇器包括類選擇器、標(biāo)簽選擇器、ID選擇器、偽類選擇器等等。
類選擇器,比如class類型 class = "nav"的話,那么css對(duì)應(yīng).nav{};
標(biāo)簽選擇器,比如body input 就是直接對(duì)應(yīng) body{} input{};
ID選擇器,比如 id="name",那么css對(duì)應(yīng) #name{};
偽類、偽對(duì)象:如a:link,a:hover,a:visited等。