【面試經驗分享】2022 前端知識複習——CSS 篇

CSS3 新特性有哪些?

常用:新增選擇器、flex 佈局、圓角、漸變、陰影、文字溢出、背景效果、邊框效果、轉換、平滑過渡、動畫、媒體查詢等。

BFC 是什麼?

BFC:塊級格式化上下文
觸發方式:
	1. 浮動元素(float 不是 none);
	2. 絕對定位元素(元素的 positon 爲 absolute 或 fixed);
	3. 行內塊元素(inline block);
	4. overflow 值不爲 visible 的塊元素;
	5. 彈性元素的 flex-item(display 爲 flex 或 inline-flex 元素的直接子元素);
	6. 使用最新的 display:flow-root 觸發沒有上面副作用。
解決什麼問題:
	1. 清除浮動;
	2. 防止 margin 合併;

如何實現垂直居中?

1. 最常用:flex 佈局
2. 子絕父相,left:50% right:50%  配合 transform: translate(-50%,-50%)
3. 子絕父相,定位全部爲 0 配合 margin: auto
4. table tr td 只有一個時自帶居中
5. div 僞裝 tabel 居中 display: table-cell
6. 100% 高度的子元素添加前後僞元素設置 vertical-align: middle

CSS 選擇器優先級如何確定?

image

總結:
1. 選擇器越具體,其優先級越高
2. 相同優先級,出現在後面的,覆蓋前面的
3. 屬性後面添加 !important 的優先級最高,少用

如何清除浮動?

1. 給父元素添加 .clearfix
2. 給父元素添加 overflow:hidden 觸發 BFC

CSS 兩種盒子模型區別?

content-box(標準盒模型):實際寬度 = width(content) + padding + border
border-box(IE 盒模型):實際寬度 = width(content + padding + border)

border-box 更符合我們人類的視覺效果(IE 做了回好事)

說說 flex (重點)?

flex 是 flexible box 縮寫,意爲“彈性佈局”。

flex 核心概念:
	1. felx-container、flex-item
	2. main-axis(主軸)、cross-axis(交叉軸)
	3. main-start(主軸的開始位置)、main-end、cross-start、cross-end
	4. main-size(單個項目佔據的主軸空間)、cross-size
	
flex-container 屬性:
	1. flex-direction:主軸的方向
	2. flex-wrap:一條軸線上放不小如何換行
	3. flex-flow:flex-direction 屬性和 flex-wrap 屬性的簡寫形式,默認值爲 row nowrap
	4. justify-content:主軸上的對齊方式
	5. align-items:交叉軸上如何對齊
	6. align-content:多根軸線的對齊方式
	
flex-item 屬性:
	1. order:項目的排列順序。數值越小,排列越靠前,默認爲 0
	2. flex-grow:“成長”,item 佔據剩餘空間的比例
	3. flex-shrink:“縮小”, item 縮小超出空間的比例
	4. flex-basis:在分配多餘空間之前,項目佔據的主軸空間(main size)
	5. flex:flex-grow, flex-shrink 和 flex-basis 的簡寫,默認值爲 0 1 auto
	6. align-self:允許單個項目有與其他項目不一樣的對齊方式,可覆蓋align-items 屬性(很少用)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章