5個CSS、HTML5最常見前端面試題

1、CSS3的盒子模型;

答案:標準盒模型(box-sizing:content-box)、怪異盒模型(box-sizing:border-box)、flex彈性伸縮盒模型、column多列布局盒模型;

2、盒子水平和垂直居中5大方案;

方法一:position 定位(適用于子盒子有寬度和高度的時候)


.parent {
    positon:relative;
}
.child {
    positiong: absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin: auto;
}

方法二:position + transform(子盒子有或沒有寬高的時候都適用)


缺點:兼容性不是很好;

方法三:flex 布局(子盒子有或沒有寬高的時候都適用)

方法四:table-cell(父元素得有固定寬高,子盒子有或沒有寬高的時候都適用)

.parent {
display: table-cell;
vertical-align:middle;
text-align:center;
}
.box {
display:inline-block;
}

方法五:(子盒子有寬高的時候都適用)


總結:position(margin、transform)、flex、table-cell、js算寬高。

3、掌握幾大經典的布局方案?

答案:圣杯布局、雙飛翼布局;
圣杯布局:一個容器里面包含左中右;

<div id="container">
    <div id="left"></div>
    <div id="center"></div>
    <div id="right"></div>
</div>

雙飛翼布局:左右不分不屬于container本身,拿出來放在后面

<div id="container">
    <div id="center"></div>
</div>
<div id="left"></div>
<div id="right"></div>

常見思路:左右固定,中間自適應(實現思路:float結合margin、flex布局、position定位);

4、移動端響應式布局開發的三大方案?

答案:media、rem、flex、vh/vw、...

  • media:經常應用于PC端和移動端使用一套布局,不同的寬度使用不同的布局,針對一些不是非常復雜的項目;
  • rem:PC端和移動端使用兩套完全不一樣的布局,此時移動端就使用rem,例如某寶、某商城等等項目;
  • flex:用于關注視圖結構;
  • vh/vw:視口分為100份,1vh為100份之一;

5、什么是標簽語義化,有哪些標簽?

答案:合理的標簽做合適的事情,標簽可分為:塊級標簽,行內標簽,行內塊標簽,區別如下:
1、塊級元素:獨占一行,對寬高的屬性值生效;如果不給寬度,塊級元素就默認為瀏覽器的寬度,即就是100%寬,如:p、div、ul、ol、li、dl、dt、dd、h1~h6、form;;
2、行內元素:可多個標簽存在一行,對寬高屬性值不生效,完全靠內容撐開寬高,如:a、span、em、strong、b、i、u、label、br;
3、行內塊元素:結合的行內和塊級的優點,不僅可以對寬高屬性值生效,還可以多個標簽存在一行顯示;

各種標簽之間的轉換
1、塊級標簽轉換為行內標簽:display:inline;
2、行內標簽轉換為塊級標簽:display:block;
3、轉換為行內塊標簽:display:inline-block;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。