只有你做不到的需求,沒有想不到的需求。
我們來看一下一個元素多邊框的需求。對於邊框我們想到的是使用border,沒有錯,就是這樣子。但是這個屬性只能實現一個邊框(目前為止是這樣子的)。
我們先看看一個邊框:
代碼如下:
用傳統的方式我們無法實現多邊框,只能另辟蹊徑。
第一種,使用多個元素進行定位重疊(這個不演示)
第二種,使用偽元素進行定位重疊(這個不演示)
第三種,使用box-shadow實現
看看代碼:
看看實現:
利用的是box-shadow的擴張半徑實現。
當然這個也是有缺點的:
1.只能實現實線邊框
2.邊框不能實線元素某些交互行為。
看代碼:
只有在元素區域內,才會是的背景顏色變成黑色,移動到所謂的邊框上面是沒有任何的效果。
第四種,outline(描邊實現)。
看代碼:
效果如下:
想比box-shadow,outline可以實現虛線邊框:
但是還是不能實現元素的某些交互,比如hover。不能隨着元素的border-radius變化而變化,而第三種是可以的(自己可以去體會一下)。
用第四種我們可以實現一個簡單的縫邊效果:
效果:
還是有點味道。