溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

css如何實(shí)現(xiàn)可控虛線

發(fā)布時(shí)間:2021-03-18 13:59:10 來(lái)源:億速云 閱讀:150 作者:小新 欄目:web開(kāi)發(fā)

這篇文章給大家分享的是有關(guān)css如何實(shí)現(xiàn)可控虛線的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

前言

css生成虛線,前端小兒科。一般都會(huì)用border來(lái)實(shí)現(xiàn),不做深入考究,但是生成如下虛線?如何操作?

css如何實(shí)現(xiàn)可控虛線 

實(shí)現(xiàn)方式

實(shí)現(xiàn)方式,有的人用多個(gè)span生成,一個(gè)小圓點(diǎn)就是一個(gè)span,這樣是可以,但是整個(gè)狀態(tài)改變比較麻煩,有什么方式生成可以控制的虛線呢?

生成dashed

生成橫向線

生成dashed虛線,一般是通過(guò)linear-gradient + background-size實(shí)現(xiàn)的,實(shí)現(xiàn)代碼如下:

height: 2px;
background: linear-gradient(to right, #000000, #000000 7.5px, transparent 7.5px, transparent);
background-size: 15px 100%;

height,控制虛線的高度,linear-gradient和background-size控制間距和步長(zhǎng)

生成豎向線

豎向線和橫向線正好相反,倒過(guò)來(lái)就可以了

width: 2px;
background: linear-gradient(to bottom, #000000, #000000 7.5px, transparent 7.5px, transparent);
background-size: 100% 15px;

延伸

橫向線和豎向線都有了,那么是不是就有了加減號(hào)了?

css生成加減號(hào)按鈕

.btn {
    display: inline-block;
    background: #f0f0f0 no-repeat center;
    border: 1px solid #d0d0d0;
    width: 24px; height: 24px;    
    border-radius: 2px;
    box-shadow: 0 1px rgba(100,100,100,.1);
    color: #666;
    transition: color .2s, background-color .2s;
}
.btn:active {
    box-shadow: inset 0 1px rgba(100,100,100,.1);
}
.btn:hover {
    background-color: #e9e9e9;
    color: #333;
}
.btn-plus {
    background-image: linear-gradient(to top, currentColor, currentColor), linear-gradient(to top, currentColor, currentColor);
    background-size: 10px 2px, 2px 10px;
}
.btn-minus {
    background-image: linear-gradient(to top, currentColor, currentColor);
    background-size: 10px 2px;
}
<a href="javascript:" class="btn btn-plus" role="button" title="增加"></a>
<input value="1" size="1">
<a href="javascript:" class="btn btn-minus" role="button" title="減少"></a>

生成dotted

上面是生成線,是沒(méi)有圓角的,假如生成小圓點(diǎn)怎么生成呢?

如下圖

css如何實(shí)現(xiàn)可控虛線 

同樣,用radial-gradient漸變可以生成

代碼如下:

height: 29px;
background: radial-gradient(#000000, #000000 4px, transparent 4px, transparent);
background-size: 29px 100%;

備注: 這里,小圓點(diǎn)的寬高是由radial-gradient得到的 height 變小,小圓點(diǎn)就會(huì)壓扁,變成橢圓,如下圖

css如何實(shí)現(xiàn)可控虛線 

擴(kuò)展

關(guān)于CSS3 gradient漸變 可以實(shí)現(xiàn)很多其他的效果,例如空心對(duì)話框的三角。

如下:

css如何實(shí)現(xiàn)可控虛線 

代碼如下:

width: 6px; height: 6px;
background: linear-gradient(to top, #ddd, #ddd) no-repeat, linear-gradient(to right, #ddd, #ddd) no-repeat, linear-gradient(135deg, #fff, #fff 6px, hsla(0,0%,100%,0) 6px) no-repeat;
background-size: 6px 1px, 1px 6px, 6px 6px;
transform: rotate(-45deg);

這種空心三角實(shí)現(xiàn)用漸變是很不錯(cuò)的,實(shí)心三角,肯定首選border,空心三角也可以用birder2邊,通過(guò)旋轉(zhuǎn)來(lái)實(shí)現(xiàn),但是有一定的局限性。

感謝各位的閱讀!關(guān)于“css如何實(shí)現(xiàn)可控虛線”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI