面試官問了個基礎題,我愣了三秒。
px和vh的區別?天天寫代碼,真讓解釋反而卡殼。回來翻筆記才發現,這題考的不是記憶,是對網頁渲染本質的理解。
![]()
px是釘子,vh是橡皮筋
![]()
px(像素)是絕對單位。你寫width: 200px,這塊內容在iPhone SE上是200像素,在27寸4K屏上還是200像素。它不管屏幕多大,釘死這個數。
vh(viewport height)是相對單位。1vh等于視口高度的1%,100vh就是滿屏。手機橫過來、分屏、換顯示器,這個值跟著變。
一個場景就能分出高下:做全屏首圖。用height: 100vh,一屏剛好填滿;用px硬編碼,換個設備要么裁頭去尾,要么露出尷尬白邊。
div和footer:盒子與標簽的戰爭
第二個坑是語義化。面試官問footer和div的區別,我差點脫口而出"都是塊級元素"。
div是啞巴盒子。它只管把內容包起來,方便你寫CSS。瀏覽器看到div,不知道里面裝的是導航、正文還是版權信息。
footer會說話。它明確告訴瀏覽器:這是頁腳區域。搜索引擎爬蟲讀到這兒,知道頁面結構到哪結束;屏幕閱讀器能直接跳轉;團隊協作時,接手的人一眼看懂架構。
![]()
用div模擬footer能跑,但像用透明膠帶粘名牌——功能有了,專業度沒了。
面試的隱藏考點
兩道題連著問,其實是在測同一件事:你能不能區分"能工作"和"做得對"。
px和vh的選擇,影響的是響應式體驗;div和footer的取舍,影響的是代碼可維護性。前者用戶看得見,后者下一個開發者看得見。
基礎題答不好,不是知識盲區,是日常寫代碼時沒問過自己"為什么選這個"。
下次面試前,建議把常用屬性按"絕對/相對""語義/通用"重新分類過一遍。表面看是八股,實際是在練技術決策的肌肉記憶。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.