css實(shí)現(xiàn)可控虛線的方法
前言
css生成虛線,前端小兒科。一般都會(huì)用border來(lái)實(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)怎么生成呢?
如下圖
同樣,用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ì)壓扁,變成橢圓,如下圖
擴(kuò)展
關(guān)于CSS3 gradient漸變 可以實(shí)現(xiàn)很多其他的效果,例如空心對(duì)話框的三角。
如下:
代碼如下:
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),但是有一定的局限性。
總結(jié)
以上所述是小編給大家介紹的css實(shí)現(xiàn)可控虛線的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
DIV+CSS實(shí)例虛線邊框|CSS虛線下劃線及虛線用應(yīng)

