1. 程式人生 > >刷面經筆記2019.02.10

刷面經筆記2019.02.10

spl none ont time 連接 去除 域名 .html str

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