--- > css3-邊框

border

css3在很大程度上拓展了border的樣式银舱,讓我們可以做出更加豐富的效果

border-radius

border-radius屬性是向元素添加圓角邊框叔磷。

使用方法
border-radius:10px; /* 所有角都使用半徑為10px的圓角 */ 
border-radius: 5px 4px 3px 2px; /* 四個半徑值分別是左上角、右上角随闪、右下角和左下角庸诱,順時針 */ 

方法: 把高度(height)和寬度(width)設(shè)為相等,并且設(shè)置圓角半徑(border-radius)的值與高度(height)的值一致.

div{
    height:100px;
    width:100px;/*與height相等*/
    background:#9da;
    border-radius:50px;/*半徑至少設(shè)置為height的值*/
}
實心上半圓

方法: 把高度(height)設(shè)為寬度(width)的一半秒梅,并且只設(shè)置左上角和右上角的半徑與元素的高度一致.

div{
    height:50px;/*是width的一半*/
    width:100px;
    background:#9da;
    border-radius:50px 50px 0 0;/*半徑至少設(shè)置為height的值*/
}
課堂任務(wù)
  • 實現(xiàn)實心左半圓形, 實心左右圓形, 實心下半圓形
  • 實現(xiàn)1/4半圓

box-shadow

box-shadow是向盒子添加陰影。支持添加一個或者多個舌胶。

box-shadow:inset x-offset y-offset blur-radius spread-radius color

box-shadow屬性至多有6個參數(shù)設(shè)置

  • inset: 陰影類型, 可選參數(shù), 如果不設(shè)值捆蜀,其默認的投影方式是外陰影;如果取其唯一值inset,就是將外陰影變成內(nèi)陰影
  • x-offset: 陰影水平偏移量, 如果為正值, 陰影向左偏移, 如果為負值, 陰影向右偏移
  • y-offset: 陰影垂直偏移量, 如果為正值, 陰影向下偏移, 如果為負值,陰影向上偏移
  • blur-radius: 模糊半徑, 可選參數(shù), 只能為正值, 數(shù)值越大, 模糊效果越明顯
  • spread-radius: 擴展半徑, 可選參數(shù), 如果值為正幔嫂,則整個陰影都延展擴大辆它,反之值為負值是,則縮小
  • color: 陰影顏色

box-shadow測試

關(guān)于偏移量

這張圖可以幫助我們記憶偏移量的規(guī)則(同樣適用于絕對定位, 元素的移動(translate)等跟位置相關(guān)的場景), 我們可以在想象一個坐標軸, 以x-offset為例, 當x-offset為正值的時候, 相當于原點向左移動了, 為負數(shù)的時候, 相當與原點向右移動了, y-offset也是同樣的道理

內(nèi)陰影
div{
    height:100px;
    width:100px;
    border: 1px solid #111;
    box-shadow: inset 0px 0px 20px red;
}
外陰影
div{
    height:100px;
    width:100px;
    border: 1px solid #111;
    box-shadow:  0px 0px 20px red;
}
單邊陰影

方法: 先設(shè)置模糊半徑, 設(shè)置擴展半徑為負數(shù), 縮小陰影大小, 直到看不到陰影, 然后將陰影向上移動.

div{
    margin: 30px;
    width: 200px;
    height: 100px;
    border: 1px solid #ccc;
    box-shadow: 0px -4px 5px -3px red;
}

展示效果:
<p data-height="500" data-theme-id="dark" data-slug-hash="vGzERB" data-default-tab="result" data-user="lulupy" data-embed-version="2" class="codepen">See the Pen <a >vGzERB</a> by lulu (<a >@lulupy</a>) on <a >CodePen</a>.</p>
<script async src="http://assets.codepen.io/assets/embed/ei.js"></script>

多重陰影
div{
    width: 200px;
    height: 100px;
    border: 1px solid #ccc;
    margin: 30px;
    box-shadow: 0 0 0 1px red, 
                0 0 0 5px blue, 
                0 0 0 8px green, 
                0 0 0 12px yellow, 
                0 0 0 16px orange, 
                0 0 0 20px #06c,
                0 0 5px 24px lime;/*每個陰影用逗號隔開, 最先定義的顯示在最上面*/
}
綜合應(yīng)用-3d搜索框

<p data-height="266" data-theme-id="dark" data-slug-hash="PNdwVG" data-default-tab="result" data-user="lulupy" data-embed-version="2" class="codepen">See the Pen <a >PNdwVG</a> by lulu (<a >@lulupy</a>) on <a >CodePen</a>.</p>
<script async src="http://assets.codepen.io/assets/embed/ei.js"></script>

border-image

屬性用來給元素邊框添加背景圖片; 瀏覽器應(yīng)用了 border-image 則不再應(yīng)用 border-style.

border-image是由以下幾個屬性組成的:

  • border-image-source: none÷亩鳌(默認值)
  • border-image-slice: 100%∶誊浴(默認值)
  • border-image-width: 1 (默認值)
  • border-image-repeat: stretch∏行摹(默認值)

border-image-source(圖片地址)

    border-image-source: url(xx.png);

border-image-slice (圖片裁剪)

border-image-slice: [<number> | <percentage>]{1,4} && fill?

取值為長度或百分比(相對于圖片) 分別設(shè)置四個變飒筑, 簡寫遵循上右下左原則

fill
顯示中間的圖片

border-image-width (圖片邊框大小)

簡寫遵循上右下左原則

取值:

<length>

表示邊框?qū)挾? 可以是絕對長度或相對長度. 不能使用負值。

<percentage>

按照元素的百分比(%)表示邊框?qū)挾? 不能使用負值.

<number>

根據(jù)元素 border-width 屬性昙衅,用倍數(shù)表示邊框?qū)挾? 不能使用負值

border-image-repeat (圖片的排列方式)

或為單個值扬霜,設(shè)置所有的邊框;或為兩個值而涉,分別設(shè)置水平與垂直的邊框著瓶。

可選值:

  • stretch 拉伸圖片以填充邊框
  • repeat 平鋪圖片以填充邊框(從中間向兩邊平鋪,超出部分裁剪)
  • round 類似于repeat,不過是整數(shù)次平鋪(不會裁剪啼县,而是適當?shù)睦靾D片)

border-image繪制原理簡述:

共存在兩個九宮格材原,一個是邊框圖片,還有一個就是邊框本身季眷,九個方位關(guān)系一一對應(yīng)余蟹。邊框本身的特性讓其變成了一個九宮格,四條邊框交錯子刮,加上其圍住的區(qū)域威酒,正好形成一個九宮格。邊框圖片則是通過圖片剪裁實現(xiàn)了九宮格挺峡。這是理解繪制原理的基礎(chǔ)葵孤。

  1. 調(diào)用邊框圖片
    border-image的url屬性,通過相對或絕對路徑鏈接圖片橱赠。

  2. 邊框圖片的剪裁
    border-image的數(shù)值參數(shù)剪裁邊框圖片尤仍,形成九宮格。

  3. 剪裁圖片填充邊框
    邊框圖片被切割成9部分狭姨,以一一對應(yīng)的關(guān)系放到div邊框的九宮格中宰啦,然后再壓縮(或拉伸)至(border-image-width)的寬度大小苏遥。

  4. 執(zhí)行重復(fù)屬性
    被填充至邊框九宮格四個角落的的邊框圖片是不執(zhí)行重復(fù)屬性的。上下的九宮格執(zhí)行水平方向的重復(fù)屬性(拉伸或平鋪)赡模,左右的格子執(zhí)行垂直方向的重復(fù)屬性田炭,而中間的那個格子則水平重復(fù)和垂直方向的重復(fù)都要執(zhí)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纺裁,一起剝皮案震驚了整個濱河市诫肠,隨后出現(xiàn)的幾起案子司澎,更是在濱河造成了極大的恐慌欺缘,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挤安,死亡現(xiàn)場離奇詭異谚殊,居然都是意外死亡,警方通過查閱死者的電腦和手機蛤铜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門嫩絮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人围肥,你說我怎么就攤上這事剿干。” “怎么了穆刻?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵置尔,是天一觀的道長。 經(jīng)常有香客問我氢伟,道長榜轿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任朵锣,我火速辦了婚禮谬盐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘诚些。我一直安慰自己飞傀,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布诬烹。 她就那樣靜靜地躺著砸烦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪椅您。 梳的紋絲不亂的頭發(fā)上外冀,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音掀泳,去河邊找鬼雪隧。 笑死西轩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的脑沿。 我是一名探鬼主播藕畔,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼庄拇!你這毒婦竟也來了注服?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤措近,失蹤者是張志新(化名)和其女友劉穎溶弟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞭郑,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡辜御,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了屈张。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片擒权。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖阁谆,靈堂內(nèi)的尸體忽然破棺而出碳抄,到底是詐尸還是另有隱情,我是刑警寧澤场绿,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布剖效,位于F島的核電站,受9級特大地震影響裳凸,放射性物質(zhì)發(fā)生泄漏贱鄙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一姨谷、第九天 我趴在偏房一處隱蔽的房頂上張望逗宁。 院中可真熱鬧,春花似錦梦湘、人聲如沸瞎颗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哼拔。三九已至,卻和暖如春瓣颅,著一層夾襖步出監(jiān)牢的瞬間倦逐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工宫补, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留檬姥,地道東北人曾我。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像健民,于是被迫代替她去往敵國和親抒巢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • border-radius 定義: border-radius屬性是一個簡寫屬性秉犹,用于設(shè)置四個border-*-r...
    lx_smile閱讀 535評論 2 3
  • 3.5 CSS3盒子陰影屬性 box-shadow用來定義元素的盒子陰影蛉谜。 3.5.1 box-shadow屬性的...
    白小蟲閱讀 306評論 0 0
  • 1、屬性選擇器:id選擇器 # 通過id 來選擇類名選擇器 . 通過類名來選擇屬性選擇器 ...
    Yuann閱讀 1,637評論 0 7
  • border-radius 設(shè)置邊框圓角 border-image 用圖片作為邊框的修飾 box-shadow 邊...
    蓋被吹空調(diào)閱讀 237評論 0 1
  • 3.3 CSS3圖片邊框?qū)傩?border-image效果在CSS2中崇堵,只有使用背景圖片來制作型诚,而且制作過程非常復(fù)...
    白小蟲閱讀 224評論 0 0