溫馨提示×

溫馨提示×

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

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

css3如何實(shí)現(xiàn)邊框

發(fā)布時間:2021-08-03 10:21:58 來源:億速云 閱讀:102 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)css3如何實(shí)現(xiàn)邊框,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在CSS3中.邊框多了4種新特性

1.Border-color(設(shè)置邊框顏色)

2.Border-image(通過圖片設(shè)置為邊框)

3.Border-radius(邊框的半徑)

4.box-shadow(陰影效果)

而我使用的瀏覽器版本為:IE8,  FireFox10.0.9,  Chrome 22.0.1229.94, Safari 5.1.7, Opera 12.50。。?;径际亲钚掳姹?

我們之前要給一個div加上邊框時,我們會這樣寫

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red;    
        }
    </style>
</head>
<body>
    <div class='border_test'>常用的邊框樣式</div>
</body>
</html>

border-color

css3如何實(shí)現(xiàn)邊框 

既然我們已經(jīng)可以設(shè)置邊框顏色了,為什么還要border-color呢?因為CSS3的border有所不同.

使用border-color如果你設(shè)置了邊框?qū)挾仁荴。那么你就可以在這個這個邊框上使用X種顏色,每種顏色顯示1px的寬度.(ps:如果你邊框?qū)挾仁?0px,而你只設(shè)置了5種顏色,那么最后一種顏色將會填充剩下的寬度)

具體寫法看下面代碼

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            border-color:red blue green black;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-color樣式</div>
</body>
</html>

但是結(jié)果和我們想的并不一樣.

css3如何實(shí)現(xiàn)邊框 

我們只看到了4個邊框分別對應(yīng)4種顏色.分別是 上 右 下 左。

當(dāng)然,如果我們只輸入3種顏色,中間的顏色就對應(yīng) 左和右,具體的自己試一下吧.

那么之前我們說的每像素一種顏色的效果呢?別著急."那么你就可以在這一邊框上使用X種顏色".因為border-color是針對整個4條邊框的,所以不是針對某條邊框的.

如果我們需要做到上面的效果,可以針對某一條邊框設(shè)置。他們分別是:

  1. border-top-color

  2. border-right-color

  3. border-bottom-color

  4. border-left-color

所以我們需要改一下代碼

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            -moz-border-top-colors:Blue Yellow Red Black Green;
            -moz-border-bottom-colors:Blue Yellow Red Black Green;
            -moz-border-right-colors:Blue Yellow Red Black Green;
            -moz-border-left-colors:Blue Yellow Red Black Green;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-color樣式</div>
</body>
</html>

運(yùn)行后

css3如何實(shí)現(xiàn)邊框 

效果出來了有木有?雖然看不太清楚,不過確實(shí)每個像素一個顏色了,這樣如果我們要做漸變顏色的話就方便了很多,只需要調(diào)整顏色就好了

css3如何實(shí)現(xiàn)邊框 

.border_test
        {
            border:5px solid red; 
            -moz-border-top-colors:Blue Yellow Red Black Green;
            -ms-border-top-colors:Blue Yellow Red Black Green;
            -wekit-border-top-colors:Blue Yellow Red Black Green;
            -o-border-top-colors:Blue Yellow Red Black Green;
            border-top-colors:Blue Yellow Red Black Green;
        }

但是卻發(fā)現(xiàn),只有火狐上出現(xiàn)了效果,也就是說,border-邊框-colors這個屬性只有在火狐上可用,其他的不兼容.可惜了..

Border-image

border-image主要是用圖片來填充邊框.

border-image的分解屬性分別為

  1. border-image-source 指定border的背景圖的url

  2. border-image-slice 設(shè)置圖片如何切割的屬性,非定位!

  3. border-image-width 定義border-image的顯示區(qū)域的

  4. border-image-repea  

下面我們來逐個解析.

border-image-source

這個是指定border的背景圖的url, 例

border-image-source :url(../images/border.gif);

這里可以設(shè)置為none,也就是無背景圖

border-image-slice

設(shè)置圖片如何切割的屬性,(重點(diǎn)理解)他的值是四個數(shù)值, 沒單位(實(shí)際上是已經(jīng)固定是px了, 注意, 這個值不能是負(fù)值或大于圖片的尺寸), 例如: border-image-slice:1 2 3 4; 你想得沒錯, 同樣對應(yīng)的是”上右下左”,將這幾個數(shù)值, 把背景圖片, 切割開來,具體一會再說

border-image-width

定義border-image的width, 這個是定義border-image的顯示區(qū)域的(這個只是在w3c上描述的, 但在實(shí)際測試過, 設(shè)置這個屬性沒有作用, 但是border-width能生效)

border-image-repeat;

repeat有三個值選擇

[ stretch | repeat | round ]:拉伸 | 重復(fù) | 平鋪 (其中stretch是默認(rèn)值。)

好了,我們回頭來看slice,也就是切割.= =說實(shí)話,不知道該怎么講,還是上圖吧.

css3如何實(shí)現(xiàn)邊框                                       css3如何實(shí)現(xiàn)邊框

左上圖是一個這樣的樣式.border-image-slice:10 15 20 25; 他會將圖片分割為右上邊這樣的9宮格圖片.

left,top,right,bottom分別是你設(shè)置的距離,這一部分會被抽取出來作為邊框.

top-left,  top-right, bottom-left, bottom-right同樣會被抽取出來,與left,top,right,bottom不同的是,他們不會受repeat,stretch,round的影響.

而left,top,right,bottom,則有可能因為拉伸什么的而改變寬度和高度.不知道這樣說會不會容易理解點(diǎn)?

下面看代碼

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            -webkit-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -moz-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -o-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -ms-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            display: block;
            
            border-width: 0 12px;
            padding: 10px;
            text-align: center;
            font-size: 16px;
            text-decoration: inherit;
            color:white;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-image樣式</div>
</body>
</html>

效果如下

css3如何實(shí)現(xiàn)邊框 

用的材料圖是

css3如何實(shí)現(xiàn)邊框 

同樣可惜的是,我這里只有FireFox和Safari出了效果,當(dāng)然這也不能排序Chrome不能,因為聽說有幾個版本的可以。 

Border-radius

終于到圓角了,感覺花了那么多字去寫css3有點(diǎn)怪,因為本來很簡單的- -哈

border-radius

參數(shù):半徑,不可以是負(fù)數(shù),為0的話是直角

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            -moz-border-radius:15px;
            -ms-border-radius:15px;
            -wekit-border-radius:15px;
            -o-border-radiuss:15px;
            border-radius:15px;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-radius樣式</div>
</body>
</html>

效果

css3如何實(shí)現(xiàn)邊框 

圓角效果是比較常見的,而且在FireFox,Chrome,Safari,Opera都支持圓角效果,可惜IE還是只能回老家喝粥.不過據(jù)說IE9支持了。

相關(guān)屬性: border-top-right-radius , border-bottom-right-radius , border-bottom-left-radius , border-top-left-radius

分別對應(yīng)一個位置,需要注意的是,如果只有一個,會變成4分之1圓角,如果這4個里其中一個為0,那就回變成直角- -這個我也很納悶.

box-shadow

最后一個,陰影

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            -moz-box-shadow:5px 2px 6px black;
            -ms-box-shadow:5px 2px 6px black;
            -wekit-box-shadow:5px 2px 6px black;
            -o-box-shadow:5px 2px 6px black;
            box-shadow:5px 2px 6px black;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-shadow樣式</div>
</body>
</html>

css3如何實(shí)現(xiàn)邊框 

三個像素值和顏色分別是

陰影水平偏移值(可取正負(fù)值);陰影垂直偏移值(可取正負(fù)值);陰影模糊值;陰影顏色

關(guān)于“css3如何實(shí)現(xiàn)邊框”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

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

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

AI