隨着 IE8 逐漸退出舞臺,不少高級的 CSS 特性都已被瀏覽器原生支持,再不學下就要過期了。css
:empty
區分空元素兼容性:不支持 IE8html
Demoweb
假如咱們有以上列表:瀏覽器
<div class="item">a</div>咱們但願能夠對空元素和非空元素區別處理,那麼有兩種方案。ide
用 :empty
選擇空元素:佈局
或者用 :not(:empty)
選擇非空元素:flex
:*-Of-Type
選擇元素兼容性:不支持 IE8url
舉例說明。spa
給第一個 p 段落加粗:code
p:first-of-type { font-weight: bold;}給最後一個 img 加邊框:
img:last-of-type { border: 10px solid #ccc;}給無相連的 blockquote 加樣式:
blockquote:only-of-type { border-left: 5px solid #ccc; padding-left: 2em;}讓奇數列的 p 段落先死紅色:
p:nth-of-type(even) { color: red;}此外,:nth-of-type
還能夠有其餘類型的參數:
calc
作流式佈局兼容性:不支持 IE8
左中右的流式佈局:
nav { position: fixed; left: 0; top: 0; width: 5rem; height: 100%;}vw
和 vh
作全屏滾動效果兼容性:不支持 IE8
vw
和 vh
是相對於 viewport 而言的,因此不會隨內容和佈局的變化而變。
unset
作 CSS Resetbody { color: red;}兼容性:不支持 IE
column
作響應式的列布局nav { column-count: 4; column-width: 150px; column-gap: 3rem; column-rule: 1px dashed #ccc; column-fill: auto;}兼容性:不支持 IE9