border屬性:
border-width、border-style、border-color 其中border-style可以為none或hidden
outline(輪廓)
在元素邊框邊緣的外圍繪製一條包圍元素的線,包括outline-color、outline-style、outline- width三個子屬性的設置,可缺省,無固定順序。輪廓不佔據頁面空間,也不一定是矩形。
除了IE以外的瀏覽器都直接支援outline。只有規定了!DOCUMENT之後的IE8以上版本的瀏覽器才支援outline。
outline-style可為none(不含hidden屬性)
總結:這兩者的差異有:
1.outline是不佔空間的,既不會增加額外的width或height(這樣不會導致瀏覽器渲染時出現reflow或是repaint)
2.outline有可能是非矩形的(火狐瀏覽器下)
在FireFox瀏覽器中,就有和outline
匹對的圓角夫妻outline-radius
範例:
使用outline實作下圖效果
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>直角三角形(右下角)</title> <style type="text/css"> .use-outline-offset{ margin-left: auto; margin-right: auto; width: 200px; height: 200px; border:40px solid #000000; background-color:#cccccc; outline-width:40px; outline-style:dotted; outline-offset:-80px; box-sizing: border-box; } </style></head><body><p class="use-outline-offset"></p></body></html>
outline-radius
#雖然沒戲了,但是,我們可以使用其他屬性,可以實現類似的效果,比方說,圖形構建大神之一的box-shadow
.
我們平時使用box- shadow
最多的是前面3個參數,水平/垂直偏移以及模糊大小,可能有一些小夥伴並不清楚其第4個可選參數值究竟有何用? box-shadow
第4個參數值,名外擴展,可以把投影範圍擴大,當然,擴大的區域是實色區域。我們就可以利用這個特性,模擬實作不影響元素佔據尺寸的outline
實色邊框效果啦!
實例先行,程式碼如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>圆角</title> <style type="text/css"> .outline-radius { margin: 200px auto; width: 400px; height: 300px; border-radius: 1px; box-shadow: 0 0 0 30px #cd0000; } .outline-radius>img{ width: 100%; height: 100%; } </style></head><body><p class="outline-radius"> <img src="img/mm1.jpg"></p></body></html>
##下面簡單解釋下兩行CSS程式碼的意義:
#border-radius: 1px表示圓角大小1像素。有同學可能奇怪了,怎麼是1像素啊,截圖圓角明明好幾十像素,下面正好就解釋了;
以上是css中關於outline與border的區別分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!