刷前端面經筆記(七)

大翰仔仔發表於2019-02-11
1.描述一下漸進增強和優雅降級

優雅降級(graceful degradation):一開始就構建站點的完整功能,然後針對瀏覽器測試和修復。 漸進增強(progressive enhancement):一開始只構建站點的最少特性,然後不斷針對各瀏覽器追加功能。

2.為什麼利用多個域名來請求網路資源會更有效?

動靜分離請求,使用不同的伺服器處理請求,提高效率; 突破瀏覽器的併發限制,同一時間針對同一域名下的請求有一定的數量限制。 節約主域名的連線數,從而提高客戶端網路頻寬的利用率,優化頁面響應。

3.HTML5有哪些新特性、移除了哪些元素?

1)繪畫標籤canvas; 2)用於媒介回放的videoaudio元素; 3)本地離線儲存localStorage長期儲存資料,瀏覽器關閉後資料不丟失; 4)sessionStorage的資料在瀏覽器關閉後自動刪除; 5)語義化更好的內容元素,比如articlefooterheadernavsection; 6)表單控制元件,calendardatatimeemailurlsearch; 7)webworkerwebsocketGeolocation; 移除的元素: 1)純表現的元素:basefontbigcenterfontsstrikett 2)對可用性產生負面影響的元素:frameframesetnoframes

4.display:none;與visibility:hidden;的區別?

相同點:它們都能讓元素不可見‘ 不同點: display:none;會讓元素完全從渲染樹中消失,渲染的時候不佔據任何空間; visibility:hidden;不會讓元素從渲染樹消失,渲染元素繼續佔據空間,只是內容不可見; display:none;是非繼承屬性,子孫節點的消失由於元素從渲染樹消失造成,通過修改子孫節點屬性無法顯示; visibility:hodden;是繼承屬性,子孫節點的消失由於繼承了hidden,通過設定visibility:visible;可以讓子孫節點顯示; 修改常規流中元素的display通常會造成文件重排。修改visibility屬性只會造成本元素的重繪; 讀屏器不會讀取display:none;元素內容;會讀取visibility:hidden;元素內容;

5.CSS去掉inline-block元素間隙的幾種方法?

間隙是怎麼來的:間隙是由換行或者回車導致的;只要把標籤寫成一行或者標籤沒有空格,就不會出現間隙; 去除方法: 方法一: 元素間的間隙出現的原因,是元素標籤之間的空格,把空格去掉間隙就會消失

<div class="itlike">
  <span>lhh</span><span>lhh</span>
</div>
複製程式碼

方法二: 利用HTML註釋標籤

<div class="demo">
    <span>lhh</span><!-- 
    --><span>lhh</span>
</div>
複製程式碼

方法三: 取消標籤閉合

<div class="demo">
    <span>lhh
    <span>lhh
    <span>lhh
    <span>lhh
</div>
複製程式碼

方法四: 在父容器上使用font-size:0;可以消除間隙

<div class="demo">
    <span>lhh</span>
    <span>lhh</span>
    <span>lhh</span>
    <span>lhh</span>
</div>
.demo {font-size: 0;}
複製程式碼
6.input標籤的type種類

buttoncheckboxfilehiddenimagepasswordradioresetsubmittext

歡迎關注

相關文章