對html5的看法,為什么要在項目中運(yùn)用它?
h5是新的html標(biāo)準(zhǔn)。
語義化標(biāo)簽 header footer sidebar article等 對瀏覽器非常友好,有利于搜索引擎優(yōu)化。
新增的表單控件 num date 等也非常的方便。
新增的video audio標(biāo)簽用來做媒體播放也很方便。
h5中的媒體查詢可以用來做響應(yīng)式布局。
canvas可以再頁面中繪圖,比如調(diào)用百度地圖或高德地圖的接口,需要使用canvas容器作為畫板繪制地圖。
css的預(yù)編譯工具?
比較流行的有l(wèi)ess,sass.而Less和Sass之間的區(qū)別:
1).實(shí)現(xiàn)方式:
Less是基于JavaScript,是在客戶端進(jìn)行處理的;Sass是基于Ruby,是在服務(wù)器端進(jìn)行處理的。
2).定義變量:
Less定義變量時使用前綴:@;Sass定義變量時使用前綴:$
Less和Sass的相同之處:
1).變量:可以單獨(dú)定義一系列通用的樣式,在需要的時候進(jìn)行調(diào)用。
2).混合(Mixins):class中的class(講一個class引入到另一個class,實(shí)現(xiàn)class與class之間的繼承),還可以帶參數(shù)的混合,就像函數(shù)一樣。
3).嵌套:class中嵌套class,從而減少代碼的重復(fù)。
4).運(yùn)算:提供了加減乘除四則運(yùn)算,可以做屬性值可顏色的運(yùn)算。
解釋css sprites。并說如何使用。
圖片懶加載,
1.>在頁面上的未可視區(qū)域可以添加一個滾動條事件,判斷圖片位置與瀏覽器頂端的距離與頁面的距離,如果前者小于后者,優(yōu)先加載。
2.>如果為幻燈片、相冊等,可以使用圖片預(yù)加載技術(shù),將當(dāng)前展示圖片的前一張和后一張優(yōu)先下載。
3>如果圖片為css圖片,可以使用CSSsprite,SVGsprite,Iconfont、Base64等技術(shù)。
4.>如果圖片過大,可以使用特殊編碼的圖片,加載時會先加載一張壓縮的特別厲害的縮略圖,以提高用戶體驗。
5.>如果圖片展示區(qū)域小于圖片的真實(shí)大小,則因在服務(wù)器端根據(jù)業(yè)務(wù)需要先行進(jìn)行圖片壓縮,圖片壓縮后大小與展示一致。
CSS3動畫
過渡:transition:1s;過渡時間。
變形:transform:skew(-30deg);傾斜30度。
翻面效果:景深:perspective()800px-1200px;
旋轉(zhuǎn)軸:默認(rèn)x軸:rotateX()、y軸:rotateY()、z軸:rotateZ()。
立體盒子:transform-style:preserve-3d。
什么不建議使用css import指令。
因為使用@import引用的文件只有在引用它的那個css文件被下載、解析之后,瀏覽器才會知道還有另外一個css需要下載,這時才去下載,然后下載后開始解析、構(gòu)建render tree等一系列操作。 瀏覽器在頁面所有css下載并解析完成后才會開始渲染頁面,因此css @import引起的css解析延遲會加長頁面留白期。 所以,要盡量避免使用css @import而盡量采用link標(biāo)簽的方式引入。
.link和@import的區(qū)別是?
兩者都是外部引用CSS的方式,但是存在一定的區(qū)別:
1:link是XHTML標(biāo)簽,除了加載CSS外,還可以定 義RSS等其他事務(wù);@import屬于CSS范疇,只能加載CSS。
2:link引用CSS時,在頁面載入時同時加載;@import需要頁面網(wǎng)頁完全載入以后加載。
3:link是XHTML標(biāo)簽,無兼容問題;@import是在CSS2.1提出的,低版本的瀏覽器不支持。
4:ink支持使用Javascript控制DOM去改變樣式;而@import不支持。
css
選擇符:
通配選擇器,標(biāo)簽選擇器,類選擇器,ID選擇器,簡單屬性選擇
可繼承屬性
font-size font-family color
優(yōu)先級
用!important可以改變優(yōu)先級別為最高,其次是style對象,然后是id > class >tag ,另外在同級樣式按照申明的 順序后出現(xiàn)的樣式具有高優(yōu)先級。
新增偽類
p:last-of-type 選擇其父元素的最后的一個P元素
p:last-child 選擇其父元素的最后子元素(一定是P才行)
p:first-of-type 選擇其父元素的首個P元素
p:first-child 選擇其父元素的首個p元素(一定是p才行)
p:only-child 選擇其父元素的只有一個元素(而且這個元素只能是p元素,不能有其他元素)
p:only-of-type 選擇其父元素的只有一個p元素(不能有第二個P元素,其他元素可以有)
Angularjs的優(yōu)點(diǎn)?
1.完善:是一個比較完善的mvc框架,包含模板,數(shù)據(jù)雙向綁定,路由,模塊化,服務(wù),過濾器等而且自帶了豐富的指令
2.google維護(hù)的:谷歌維護(hù)的有保障
3.社區(qū)活躍
4.可以非常好的和 ionic配合
wabpack打包的流程?
通過entry 配置入口文件。
output 指定輸出的文件。
使用各種loader處理css js image等資源,并將它們編譯打包成瀏覽器可以解析的內(nèi)容等。
使用npm run dev 運(yùn)行本地開發(fā)環(huán)境的項目
nom run build 將項目打包壓縮生成生產(chǎn)環(huán)境的下的代碼
nodejs的概念?
Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
Node.js 使用了一個事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效。
Node.js 的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)。