css 0.5px

1. 利用css3新屬性scale(好用推薦)css

其實現的關鍵就是利用before或after僞元素,寬高同時設爲200%,而後再縮放0.5,天然就是0.5px了css3

代碼以下:web

div {
    positon : relative;
}
div::after {
    content : "";
    width : 200%;
    height : 200%;
    position : absolute;
    top : 0;
    left : 0;
    border : 1px solid #dedede;
    -webkit-transform : scale(0.5);
            transform : scale(0.5);
    -webkit-transform-origin : 0 0;
            transform-origin : 0 0;
    box-sizing: border-box;
}

 

2. 利用background-imagespa

若是你問切圖直接用背景圖可不能夠?固然能夠,雖然說這種方法比較笨吧,但也是一種方法。code

但我要說的是另一種--利用背景漸變linear-gradient來實現,具體代碼以下:orm

.bg_border {
    background-image : linear-gradient(0deg,red,red 50%,transparent 50%);
    background-size: 100% 1px;
    background-repeat: no-repeat;
}

分析:linear-gradient默認方向從上到下,從0deg到50%的地方顏色是邊框顏色,而後下邊一半顏色就是透明瞭-沒顏色。中間之因此兩個50%寫在一塊兒,是由於這樣就不會有顏色過渡的漸變效果了,看起來更像一條線,涇渭分明;  而後最關鍵的是下邊的background-size: 100% 1px,就是寬度100%,但高度是1px,注意這裏的1px天然是css像素了,加上上邊的background-image,實際效果就是一半有顏色,一半那不就是0.5px,而後再去掉repeat,就實現了。blog

同理若是要寫border-left或border-right同樣的原理,只需改變方向就能夠了。it

缺點: 只能作但方向的border,若是有個按鈕要加,並且還有圓角,那就無能爲力了io

相關文章
相關標籤/搜索