z-index: -1
特性實現僞元素覆蓋背景同時又不會遮擋文字(具體實現原理參考這裏 )。這是一個很是經常使用又好用的技巧,善加利用能夠達到不少意想不到的效果。position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
z-index: -1;
clip-path
clip-path
能夠實現區域裁剪,如今瀏覽器支持較好的有三個函數:clip-path: circle(50px at 50px 50px)
以 50px 50px
的地方爲圓心裁剪一個半徑 50px 的圓;clip-path: ellipse(30px 40px at 50px 50px)
以 50px 50px
的地方爲圓心裁剪一個橫向半徑 30px,縱向半徑 40px 的橢圓;clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%)
按照多個座標剪裁一個多邊形,此處是菱形。有了 clip-path
,就能夠輕易的實現任意多邊形了border-radius
border-radius
居然能夠設置 8 個角的半徑~ 其中水平方向(對角線上下有弧度的地方)和垂直方向(對角線左右有弧度的地方)各四個,能夠用 /
分割。若是水平或垂直方向指定的值少於四個,則會按照和 margin、padding
同樣的規則重複。若是隻指定來水平方向的,那麼垂直方向的跟水平方向的同樣。border-radius: 5em 1em; /*至關於border-radius: 5em 1em 5em 1em / 5em 1em 5em 1em;*/
min-content
關鍵字display: inline-block
的包裹特性實現一個不徹底的版本。這種方法的缺陷是文本脫離了文檔流,高度未計入包含塊。可是若是利用 min-content
關鍵字,能夠一行代碼實現且無反作用 width: min-content;
filter: drop-shadow()
box-shadow
不能透過透明背景顯示出來,不能越過僞元素/子元素顯示出來,而這些drop-shadow
能作到。(但不管哪一種投影都會被clip-path
剪裁掉~~) filter: drop-shadow(2px 2px 10px rgba(0,0,0,.5));
background-image
、background-size
、background-position
background: #eee;
background-image:
linear-gradient(45deg, rgba(0, 0, 0, .25) 25%, transparent 0, transparent 75%, rgba(0, 0, 0, .25) 0),
linear-gradient(45deg, rgba(0, 0, 0, .25) 25%, transparent 0, transparent 75%, rgba(0, 0, 0, .25) 0);
background-size: 30px 30px;
background-position: 0 0, 15px 15px;
整體來講,《css揭祕》這本書並無給我帶來太大驚喜,我的感受不如閱讀《css世界》帶來的收穫多。固然了,這本書屬於純技巧型的,並無講述不少原理知識,因此也不能苛責吧。有興趣的同窗能夠跟着我學習一波 css世界,相信確定會有更大的收穫css