一、指代不同
1、CSS3:是CSS技術的升級版本,於1999年開始制訂,2001年5月23日W3C完成了CSS3的工作草案。
2、CSS:是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。
二、內容不同
1、CSS3:主要包括盒子模型、列表模塊、超連結方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊。
2、CSS:不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。
三、特點不同
1、CSS3:新特徵有很多,例如圓角效果、圖形化邊界、塊陰影與文字陰影、使用RGBA實現透明效果、漸變效果、使用@Font-Face實現定製字體、多背景圖、文字或圖像的變形處理(旋轉、縮放、傾斜、移動)、多欄布局、媒體查詢等。
2、CSS:能夠對網頁中元素位置的排版進行像素級精確控制,支持幾乎所有的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力。
標準盒子模型:寬度=內容的寬度(content)+ border + padding + margin
低版本IE盒子模型:寬度=內容寬度(content+border+padding)+ margin
首先拋開所謂的標準不說,因為這個標準是 W3C 那邊制定後跟各大廠商溝通去做統一的。在這個答案中,如果按照嚴格來說,首先會問基本怎麼計算,就像上面這個答案,不過需要注意一下順序。
標準盒模型的寬度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right,這樣寫可能會顯得比較長,按照上面的答案來說的話,或許 width + padding + border + margin 就好了,附帶說一下除了 width 以外是有左右兩邊的。
怪異模式的盒模型寬度 = (width + padding + border) + margin 整體來說跟標準盒模型是相類似的,主要是 width + padding + border 這三者算在一起了。
標準的盒模型是基於 doctype 正確書寫的情況下,並且是高於 IE6 的瀏覽器才會有的,如果是低於 IE6 的瀏覽器,就算是正確的 doctype 的書寫情況下也是進入怪異模式的;在 IE 瀏覽器中如果寫錯了 doctype 或者是 doctype 之前有其他字符,那麼可能就讓 IE 進入怪異模式,從而導致瀏覽器解析元素盒模型出現問題,比如:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.jifuedu.com/TR/xhtml1/DTD/xhtml1-strict.dtd">這種情況下就會讓低版本的IE進入怪異模式,導致的可能不僅僅只是盒模型計算問題,還有可能是其他的一些情況,早年之前有不少公司直接利用這種方式對低版本和高版本的瀏覽器做樣式上的區別操作對待。
該布局模型的目的是提供一種更加高效的方式來對容器中的條目進行布局、對齊和分配空間。在傳統的布局方式中,block 布局是把塊在垂直方向從上到下依次排列的;而 inline 布局則是在水平方向來排列。彈性盒布局並沒有這樣內在的方向限制,可以由開發人員自由操作。
適用場景:彈性布局適合於移動前端開發,在Android和ios上也完美支持。
一、圖片間隙
在div中插入圖片,圖片會將div下方撐大3px。
hack1:將<div>與<img>寫在同一行。
hack2:給<img>添加display:block;
dt li 中的圖片間隙。hack:給<img>添加display:block;
二、默認高度,IE6以下版本中,部分塊元素,擁有默認高度(低於18px)
hack1:給元素添加:font-size:0;
hack2:聲明:overflow:hidden;
三、表單行高不一致
hack1:給表單添加聲明:float:left;height:;border:0;
四、滑鼠指針
hack:若統一某一元素滑鼠指針為手型:cursor:pointer;
五當li內的a轉化塊元素時,給a設置float,IE裡面會出現階梯狀
hack1:給a加display:inline-block;
hack2:給li加float:left;
用來控制元素的盒子模型的解析模式,默認為content-box
context-box:W3C的標準盒子模型,設置元素的 height/width 屬性指的是content部分的高/寬
border-box:IE傳統盒子模型。設置元素的height/width屬性指的是border + padding + content部分的高/寬
box-sizing 主要是用來計算一個元素中的寬度和高度的總和的值,而具體的計算方式將會根據 box-sizing 的屬性值來決定,共有兩個屬性值:content-box 和 border-box。
Reset重置瀏覽器的css默認屬性,瀏覽器的品種不同,樣式不同,然後重置,讓他們統一。
css精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量
css sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用css的"background-image","background-position"的組合進行背景定位,這樣可以減少。
很多圖片請求的開銷,因為請求耗時比較長;請求雖然可以並發,但是如果請求太多會給伺服器增加很大的壓力。
元素選擇符:1
class選擇符:10
id選擇符:100
元素標籤:1000
選擇符優先級的拓展問題:
有 11 個元素選擇符的優先級跟 1 個 class 選擇符優先級哪個高呢?
如果有 256 個 class 選擇符,比如 .class001..class256 {} 那麼這個時候是否會大於 一個 id 選擇符呢?
!important聲明的樣式優先級最高,如果衝突再進行計算。
如果優先級相同,則選擇最後出現的樣式。
繼承得到的樣式的優先級最低。
這三點概括的並不是十分全面吧,在面試的過程中,如果面試官提到了有關選擇符優先級的問題,那麼可能會給幾個 demo 來讓你想一下哪個文字是什麼顏色之類的,最後再問原理。
眾所周知,!important 的優先級是最高,那麼如果可能會延伸的問題會有:<div style="width: 100px !important;"></div> 這裡的這個 width 樣式如何去覆蓋。
改版的時候更方便 只要改 css 文件。頁面加載速度更快、結構化清晰、頁面顯示簡潔。表現與結構相分離。易於優化(seo)搜尋引擎更友好,排名更容易靠前。
除此以外,工作經歷要挑重要的講,因工作而異,儘量往面試公司那邊靠。
簡歷一定要乾淨整潔、主次分明。
好了,祝你面試成功。