1. CSS有哪些選擇器
id、class、父子、標簽、*(通配符)、分組、兄弟、后代、偽類
2. 描述一下你對盒子模型的認識
作為一個容器,可以設置背景,顏色,邊框,內外邊距,浮動,定位,可以容納各種標簽,塌陷現象,塊級元素都可做盒子。盒子占用的空間:外邊距+內邊距+內容
3. 使用CSS有哪三種方式,他們的優先級是如何排列的
行內,在html元素里書寫style,在style中直接寫樣式代碼 > 頭部,在style標簽中書寫樣式代碼 > 使用link標簽引用樣式文件
4. CSS中長度單位有哪些
px、em(相對於父元素的字體大小)、%、cm、mm、in、pt、pc、rem(root em,相對於根元素的字體大小)(如果父元素的字體是1px,子元素是2em,就是2px,子元素的子元素是2em,就是4px,rem不管有多少層,都是針對1px的倍數)
5. 相對定位、絕對定位和固定定位的區別
絕對定位與父類有關,取決於父類,相對於頁面的位置(相對定位),固定相對於瀏覽器(不會隨瀏覽器動)
不釋放空間(相對),釋放空間(絕對),相對於瀏覽器左上角,釋放空間(固定)
相對定位:不釋放空間,相對於父元素。(頁面流,頁面上的元素就像一個流一樣,每個元素占流中占用一個位置)
絕對定位:相對於已經定位過的父元素的位置,釋放空間。
固定定位:相對於瀏覽器左上角,釋放空間
6. JavaScript有幾種數據類型
Boolean、Number、String、undefined、null、Object
7. let、var、const的區別
var定義數據,聲明變量,存在變量提升。(提升就是在定義變量前可以使用該變量)
const不能重新賦值,但是const定義的對象內部是可以變化的
let是局部變量
8. null和undefined的區別
undefined是沒有初始化變量(某人沒有小金庫)
null是用空來初始化變量(某人的小金庫沒有錢)
9. JavaScript中if(exp)結果為false有哪幾種可能情況
exp為空或沒有定義,值為零,NaN不是數字
10. 寫出IP的正則驗證
/^(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$/
11. JavaScript中數組有哪些常用方法,各有什么作用
unshift在數組前插入元素
shift移除數組的第一個元素
push在數組后面插入元素
pop移除數組最后一個元素
join返回一個用指定字符拼成的字符串,把數組的元素用指定的字符拼成一個字符串
sort排序
slice分隔(截斷數組,子數組)
reverse反轉數組
12. HTML5有哪些新特性
用html5實現flash功能,減少第三方插件;標簽語意化;增加了一些標簽(canvas)
13. 如何清除浮動
clear: left/right/both,清除前面的浮動的元素帶來的影響。
14. 如何讓一個DIV水平垂直方向上居中
html, body {
width: 100%;
height: 100%;
}
div {
border: red solid;
width:100px;
height:100px;
margin:-50px auto;
position:relative;
top:50%;
}
