刷面經筆記2019.02.10
1.描述一下漸進增強和優雅降級
優雅降級(graceful degradation):一開始就構建站點的完整功能,然後針對瀏覽器測試和修復。
漸進增強(progressive enhancement):一開始只構建站點的最少特性,然後不斷針對各瀏覽器追加功能。
2.為什麽利用多個域名來請求網絡資源會更有效?
動靜分離請求,使用不同的服務器處理請求,提高效率;
突破瀏覽器的並發限制,同一時間針對同一域名下的請求有一定的數量限制。
節約主域名的連接數,從而提高客戶端網絡帶寬的利用率,優化頁面響應。
3.HTML5有哪些新特性、移除了哪些元素?
1)繪畫標簽canvas;
2)用於媒介回放的video和audio元素;
3)本地離線存儲localStorage長期存儲數據,瀏覽器關閉後數據不丟失;
4)sessionStorage的數據在瀏覽器關閉後自動刪除;
5)語義化更好的內容元素,比如article、footer、header、nav、section;
6)表單控件,calendar、data、time、email、url、search;
7)webworker、websocket、Geolocation;
移除的元素:
1)純表現的元素:basefont、big、center、font、s、strike、tt
2)對可用性產生負面影響的元素:frame、frameset、noframes
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種類
button、checkbox、file、hidden、image、password、radio、reset、submit、text
刷面經筆記2019.02.10