div如何佔一行
從前端學習到找一份合適的工作,大大小小的面試必不可少,所以我對初級前端面試題進行了初步整理,也方便自己查閱,也希望對小夥伴們有所幫助!
HTML
HTML語義化
HTML語義化就是讓頁面內容結構化,它有如下優點
1、易於使用者閱讀,樣式丟失的時候能讓頁面呈現清晰的結構。 2、有利於SEO,搜尋引擎根據標籤來確定上下文和各個關鍵字的權重。 3、方便其他裝置解析,如盲人閱讀器根據語義渲染網頁 4、有利於開發和維護,語義化更具可讀性,程式碼更好維護,與CSS3關係更和諧
如:
HTML5新標籤
有
CSS
rem與em的區別
rem 是根據根的font-size變化,而em是根據父級的font-size變化
rem:相對於根元素html的font-size,假如html為font-size:12px,那麼,在其當中的div設定為font-size:2rem,就是當中的div為24px
em:相對於父元素計算,假如某個p元素為font-size:12px,在它內部有個span標籤,設定font-size:2em,那麼,這時候的span字型大小為:12*2=24px
CSS選擇器
css常用選擇器
萬用字元:* ID選擇器:#ID 類選擇器:。class 元素選擇器:p、a 等 後代選擇器:p span、div a 等 偽類選擇器:a:hover 等 屬性選擇器:input[type=“text”] 等
css選擇器權重
!important -> 行內樣式 -> #id -> 。class -> 元素和偽元素 -> * -> 繼承 -> 預設
CSS新特性
transition:過渡
transform:旋轉、縮放、移動或者傾斜
animation:動畫
gradient:漸變
shadow:陰影
border-radius:圓角
行內元素和塊級元素
行內元素(display: inline)
寬度和高度是由內容決定,與其他元素共佔一行的元素,我們將其叫行內元素,例如:
、 、 等
塊級元素(display: block)
預設寬度由父容器決定,預設高度由內容決定,獨佔一行並且可以設定寬高的元素,我們將其叫做塊級元素,例如:
、
- 等
在平時,我們經常使用CSS的display: inline-block,使它們擁有更多的狀態
絕對定位和相對定位的區別
position: absolute
絕對定位:是相對於元素最近的已定位的祖先元素
position: relative
相對定位:相對定位是相對於元素在文件中的初始位置
BFC
什麼是BFC?
BFC格式化上下文,它是一個獨立的渲染區域,讓處於 BFC 內部的元素和外部的元素相互隔離,使內外元素的定位不會相互影響
如何產生BFC?
display: inline-block
position: absolute/fixed
BFC作用
BFC最大的一個作用就是:在頁面上有一個獨立隔離容器,容器內的元素和容器外的元素佈局不會相互影響
解決上外邊距重疊;重疊的兩個box都開啟bfc; 解決浮動引起高度塌陷;容器盒子開啟bfc 解決文字環繞圖片;左邊圖片div,右邊文字容器p,將p容器開啟bfc 複製程式碼
水平垂直居中
Flex佈局
display: flex //設定Flex模式
flex-direction: column //決定元素是橫排還是豎著排
flex-wrap: wrap //決定元素換行格式
justify-content: space-between //同一排下對齊方式,空格如何隔開各個元素
align-items: center //同一排下元素如何對齊
align-content: space-between //多行對齊方式
水平居中
行內元素:display: inline-block;
塊級元素:margin: 0 auto; Flex: display: flex; justify-content: center
垂直居中
行高 = 元素高:line-height: height flex: display: flex; align-item: center
link與@import區別與選擇
link功能較多,可以定義 RSS,定義 Rel 等作用,而@import只能用於載入 css;
當解析到link時,頁面會同步載入所引的 css,而@import所引用的 css 會等到頁面載入完才被載入;
@import需要 IE5 以上才能使用;
link可以使用 js 動態引入,@import不行
多行元素的文字省略號
overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;//輸入數字
-webkit-box-orient: vertical
JavaScript
JS的幾條基本規範
1、不要在同一行宣告多個變數
2、請使用===/!==來比較true/false或者數值
3、使用物件字面量替代new Array這種形式
4、不要使用全域性變數
5、Switch語句必須帶有default分支
6、函式不應該有時候有返回值,有時候沒有返回值
7、For迴圈必須使用大括號
8、IF語句必須使用大括號
9、for-in迴圈中的變數 應該使用var關鍵字明確限定作用域,從而避免作用域汙染
JS引用方法
行內引入
內部引入
外部引入
注意
1,不推薦寫行內或者HTML中插入