溫馨提示×

溫馨提示×

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

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

如何在CSS3中實(shí)現(xiàn)多樣的邊框效果

發(fā)布時(shí)間:2021-05-14 16:41:28 來源:億速云 閱讀:132 作者:Leah 欄目:web開發(fā)

今天就跟大家聊聊有關(guān)如何在CSS3中實(shí)現(xiàn)多樣的邊框效果,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

實(shí)現(xiàn)代碼:

<div>
你能看到半透明的邊框嗎?
</div>
div {
    /* 關(guān)鍵代碼 */
    border: 10px solid rgba(255,255,255,.5);
    background: white;
    background-clip: padding-box;
    /* 其它樣式 */
    max-width: 20em;
    padding: 2em;
    margin: 2em auto 0;
    font: 100%/1.5 sans-serif;
}

實(shí)現(xiàn)要點(diǎn):

設(shè)置邊框?yàn)榘胪该?,這是還看不到半透明邊框,因?yàn)槟J(rèn)情況下,背景會(huì)延伸到邊框所在的區(qū)域下層,也就是背景是被邊框的外沿框裁切掉。
 

通過設(shè)置 background-clip: padding-box (初始值是 border-box) 讓背景不要延伸到邊框所在的區(qū)域下層,也就是讓內(nèi)邊距的外沿來裁切背景。
 

多重邊框

實(shí)現(xiàn)效果:

如何在CSS3中實(shí)現(xiàn)多樣的邊框效果

實(shí)現(xiàn)代碼:

<div></div>
/* box-shadow 實(shí)現(xiàn)方案 */
div {
    /* 關(guān)鍵代碼 */
    box-shadow: 0 0 0 10px #655,
            0 0 0 15px deeppink,
            0 2px 5px 15px rgba(0,0,0,.6);
    /* 其它樣式 */
    width: 100px;
    height: 60px;
    margin: 25px;
    background: yellowgreen;
}
/* border/outline 實(shí)現(xiàn)方案 */
div {
    /* 關(guān)鍵代碼 */
    border: 10px solid #655;
    outline: 5px solid deeppink;
    
    /* 其它樣式 */
    width: 100px;
    height: 60px;
    margin: 25px;
    background: yellowgreen;
}

實(shí)現(xiàn)要點(diǎn):

box-shadow 實(shí)現(xiàn)方案使用的是 box-shadow 的第四個(gè)參數(shù)(擴(kuò)張半徑)。一個(gè)正值的擴(kuò)張半徑加上兩個(gè)為零的偏移量以及為零的模糊值,得到的“投影”其實(shí)就像一道實(shí)線邊框。而借助 box-shadow 支持逗號分割語法,可創(chuàng)建任意數(shù)量的投影,因此我們就可實(shí)現(xiàn)多重邊框效果。
 

border/outline 實(shí)現(xiàn)方案是使用 border 設(shè)置一層邊框,再使用 outline 設(shè)置一層邊框。這個(gè)方案可實(shí)現(xiàn)虛線邊框,但它只能實(shí)現(xiàn)兩層邊框。

邊框內(nèi)圓角

實(shí)現(xiàn)效果:

如何在CSS3中實(shí)現(xiàn)多樣的邊框效果

實(shí)現(xiàn)代碼:

<div>我有一個(gè)漂亮的內(nèi)圓角</div>
div {
    outline: .6em solid #655;
    box-shadow: 0 0 0 .4em #655; /* 關(guān)鍵代碼 */
    max-width: 10em;
    border-radius: .8em;
    padding: 1em;
    margin: 1em;
    background: tan;
    font: 100%/1.5 sans-serif;
}

實(shí)現(xiàn)要點(diǎn):

outline 不會(huì)跟著元素的圓角走(因而顯示出直角),但 box-shadow 確實(shí)會(huì)的,因此,將兩者疊加到一起,box-shadow(其擴(kuò)張值大概等于 border-radius 值的一半) 會(huì)剛好填補(bǔ) outline 和容器圓角之間的空隙,因此可達(dá)到我們想要的效果。

看完上述內(nèi)容,你們對如何在CSS3中實(shí)現(xiàn)多樣的邊框效果有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

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

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

AI