Css Secrets - one-Sided shadows


陰影大家或多或少都用過蔗蹋,用的好的可以到什么程度呢锨天,來看下:

亮瞎眼的box-shadow

這個(gè)網(wǎng)址打開比較慢,我把它拿了下來缔恳,看這里

Paste_Image.png
Paste_Image.png

汗顏 = =宝剖,看來我們要重新認(rèn)識(shí)一下這個(gè)屬性了。

基礎(chǔ)回顧

box-shadow 以逗號(hào)分隔列表來描述一個(gè)或多個(gè)陰影效果歉甚,基弧可以用到任何元素上万细。
如果元素同時(shí)設(shè)置了border-radius ,陰影也會(huì)有陰影效果。

多個(gè)陰影的z-ordering 和 多個(gè)text-shadow 的z-ordering 規(guī)則相同纸泄,即 第一個(gè)陰影在上面赖钞。


語法

/* offset-x | offset-y | color */
box-shadow: 60px -16px teal;

/* offset-x | offset-y | blur-radius | color */
box-shadow: 10px 5px 5px black;

/* offset-x | offset-y | blur-radius | spread-radius | color */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);

/* inset | offset-x | offset-y | color *
/box-shadow: inset 5em 1em gold;

/* Any number of shadows, separated by commas */
box-shadow: 3px 3px red, -1em 0 0.4em olive;


取值

  • inset
    默認(rèn)陰影在邊框外。使用inset后聘裁,
    陰影在邊框內(nèi)(即使是透明邊框)雪营,背景之上內(nèi)容之下。
    <offset-x> ,<offset-y>

這是頭兩個(gè) <length>
值衡便,用來設(shè)置陰影偏移量献起。<offset-x>
設(shè)置水平偏移量,如果是負(fù)值則陰影位于元素左邊镣陕。 <offset-y>
設(shè)置垂直偏移量谴餐,如果是負(fù)值則陰影位于元素上面〈粢郑可用單位請查看 <length> .
如果兩者都是0岂嗓,那么陰影位于元素后面。這時(shí)如果設(shè)置了<blur-radius>
或<spread-radius>
則有模糊效果鹊碍。

  • <blur-radius>

這是第三個(gè) <length>
值厌殉。值越大食绿,糊糊面積越大,陰影就越大越淡公罕。 不能為負(fù)值炫欺。默認(rèn)為0,此時(shí)陰影邊緣銳利熏兄。

  • <spread-radius>

這是第四個(gè) <length>
值。取正值時(shí)树姨,陰影擴(kuò)大摩桶;取負(fù)值時(shí),陰影.收縮帽揪。默認(rèn)為0硝清,此時(shí)陰影與元素同樣大。

  • <color>

相關(guān)事項(xiàng)查看 <color>
转晰。如果沒有指定芦拿,則由瀏覽器決定——通常是color
的值,不過目前Safari取透明查邢。

正規(guī)語法

none | [inset? && [ <offset-x> <offset-y> <blur-radius>? <spread-radius>? <color>? ] ]#


正文

我們或多或少都用過陰影蔗崎,不論用的怎么樣,好看或是不好看扰藕。
關(guān)于怎么用的好缓苛,我了解的也不多,不多說邓深。
這里主要說的是單邊和雙邊陰影未桥。

很多人都是用三個(gè)值 一個(gè)顏色 來定義陰影,像這樣:

<pre>
box-shadow: 2px 3px 4px rgba(0,0,0,.5);
</pre>

從這一段代碼里我們能得到如下信息:

  • 一個(gè)和本體同樣大小的 芥备,黑色半透明的矩形被畫了出來.
  • 它向右平平移了2px,向下平移了3px.
  • 它的模糊半徑是4px ,(用的是高斯模糊算法 或者相似的算法)冬耿,這意味著從定義的顏色到完全透明,大概有8px的距離.(double the blur radius)
  • 具有發(fā)散半徑的矩形 和他它的本體交叉的部分被裁減掉了萌壳,所以看起來是剛好在下面亦镶。不過要注意的是,本體下方是沒有任何陰影的袱瓮。

<pre>
div {
width: 1.6in;
height: 1in;
background: transparent;
box-shadow: 2px 3px 4px black;
}
</pre>

no shadow will be painted underneath the element

這一點(diǎn)是和text-shadow不同的染乌。

4px的模糊半徑意味著放祟,我們的陰影比本體邑商,在尺寸上大概大了4px帘瞭。
但是我們設(shè)置的偏移量是2px 和3px,這意味著者甲,部分陰影會(huì)從其他邊溢出岸蜗。

確切地講,
上邊是 1px (4px - 3px),
右邊是 6px (4px + 2px),
下邊是 7px (4px + 3px),
左邊是 2px (4px - 2px);

如果我們設(shè)置4px,4px 的偏移量萍桌,就可以隱藏掉上邊 和 左邊的陰影军熏,但是,這樣產(chǎn)生的效果实蔽,不是那么好:

特別突出的陰影

回頭看一看荡碾,我們是要實(shí)現(xiàn)單邊,雙邊陰影的局装,僅僅這樣是不行的坛吁。所以,我們繼續(xù)往下走铐尚。
還記得box-shadow 的第四個(gè)參數(shù)么拨脉,就是模糊半徑之后的那個(gè)參數(shù),spread-radius宣增,發(fā)散半徑玫膀。

取正值時(shí),陰影擴(kuò)大爹脾;取負(fù)值時(shí)帖旨,陰影收縮。
默認(rèn)為0灵妨,此時(shí)陰影與元素同樣大解阅。

比如,-5px 的 spread-radius 將會(huì)使陰影的寬高縮小10px(兩側(cè)格減少5px) ;

理論上來說泌霍,如果我們把 spread-radius 的 收斂數(shù)值絕對值 設(shè)置為 和發(fā)散半徑一樣大瓮钥,那我們就不會(huì)再看到任何陰影,我們我們給它設(shè)置x和y的偏移量烹吵。

如圖:

看不到陰影

<pre>
div {
width: 1.6in;
height: 1in;
background: #fb3;
box-shadow: 0 0 4px -4px black;
}
</pre>

然后碉熄,我們給它設(shè)置y 的偏移:

<pre>
box-shadow: 0 5px 4px -4px black;
</pre>

底邊陰影

這樣我們就實(shí)現(xiàn)了單邊陰影。

相鄰兩邊的陰影

相似的肋拔,雙邊陰影可以這樣實(shí)現(xiàn):

<pre>
box-shadow: 3px 3px 6px -3px black;
</pre>

相鄰兩邊的陰影

相對兩邊的陰影:

<pre>
box-shadow: 5px 0 5px -5px black,
-5px 0 5px -5px black;
</pre>

相對兩邊的陰影

#瀏覽器兼容性

caniuse

box-shadow

桌面瀏覽器支持度
mobile 支持度

結(jié)語

==
關(guān)于陰影就說這些锈津,希望給大家?guī)硪恍﹩l(fā),感謝閱讀凉蜂,歡迎交流琼梆。


附參考資料:

W3C CSS-backgrounds
CSS Working Group
CSS box-shadow

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市窿吩,隨后出現(xiàn)的幾起案子茎杂,更是在濱河造成了極大的恐慌,老刑警劉巖纫雁,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煌往,死亡現(xiàn)場離奇詭異,居然都是意外死亡轧邪,警方通過查閱死者的電腦和手機(jī)刽脖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門羞海,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人却邓,你說我怎么就攤上這事≡核” “怎么了腊徙?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長檬某。 經(jīng)常有香客問我撬腾,道長,這世上最難降的妖魔是什么橙喘? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮胶逢,結(jié)果婚禮上厅瞎,老公的妹妹穿的比我還像新娘。我一直安慰自己初坠,他們只是感情好和簸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碟刺,像睡著了一般锁保。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上半沽,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天爽柒,我揣著相機(jī)與錄音,去河邊找鬼者填。 笑死浩村,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的占哟。 我是一名探鬼主播心墅,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼榨乎!你這毒婦竟也來了怎燥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蜜暑,失蹤者是張志新(化名)和其女友劉穎铐姚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肛捍,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谦屑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年驳糯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氢橙。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酝枢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出悍手,到底是詐尸還是另有隱情帘睦,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布坦康,位于F島的核電站竣付,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏滞欠。R本人自食惡果不足惜古胆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望筛璧。 院中可真熱鬧逸绎,春花似錦、人聲如沸夭谤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗儒。三九已至颊乘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間醉锄,已是汗流浹背乏悄。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恳不,地道東北人纲爸。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像妆够,于是被迫代替她去往敵國和親识啦。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

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

  • 1神妹、垂直對齊 如果你用CSS颓哮,則你會(huì)有困惑:我該怎么垂直對齊容器中的元素?現(xiàn)在鸵荠,利用CSS3的Transform冕茅,...
    kiddings閱讀 3,166評論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align姨伤,li...
    wzhiq896閱讀 1,754評論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color哨坪,font,text-align乍楚,li...
    love2013閱讀 2,315評論 0 11
  • 上次看到簡友用HTML+CSS寫了一個(gè)小叮當(dāng)当编,這次我發(fā)憤圖強(qiáng),終于寫出了這只大白 截的靜態(tài)圖徒溪,他的頭其實(shí)是可以動(dòng)的...
    _Crown閱讀 1,857評論 9 38
  • 朋友老鐘剛離婚忿偷,興沖沖買了幾本書回來,《開闊的婚姻》《婚姻是最好的修行》《婚姻心理學(xué)》臊泌,上面每一本都信誓旦旦鲤桥,教你...
    華商幸福女子學(xué)堂閱讀 299評論 0 0