2013-10-07 50 views
1

我知道如何使一箱的影子跑下來一個元素然而是有可能有它向下延伸80%的元素,而不是元素的整個高度的?CSS3 - Verticle斜角80%的外箱陰影

而且如何讓陰影角度出來(這是東西IM與大多數掙扎)

enter image description here

+1

否 - 不是直接。您必須覆蓋它或使用':before' /':after'之後。 –

+0

我想我將不得不使用:前/:一束旋轉之類的東西后,想通ID問我花試着弄清楚幾個小時之前,寧可不使用圖像 – user934902

+0

你應該只定位背後一個元素與80%的高度 –

回答

1

像這樣的事情?

jsFiddle here

還有一堆的,你可以做到這一點的方式。我剛纔設置的影子,而重疊的三角形。

enter image description here

這裏是不模糊的影子替代.. http://jsfiddle.net/bHEaZ/1/

HTML - 很簡單

<div></div> 

CSS

div { 
    width: 100px; 
    height: 200px; 
    position: relative; 
    border: 1px solid black; 
    box-shadow: 20px -10px 30px black; 
    margin: 40px; 
} 

div:after { 
    position: absolute; 
    left: 102px; 
    top: 100px; 
    content: "\A"; 
    width: 0; 
    height: 0; 
    border-bottom: 90px solid white; 
    border-right: 50px solid white; 
    border-top: 90px solid transparent; 
} 
+1

準確,顯然需要一點點技巧,但生病的工作,出:P非常感謝 – user934902

+1

@JMcFee我沒有使用CSS變換/旋轉效果,但我仍然很明顯只好用':after',這隻有通過IE8 + –

+0

燁多數民衆贊成罰款的支持,我不是擔心它生病只是試圖把它降低到一個影子一路下跌股利的人,不幸的是使用IE7和下 – user934902

0

你在找這樣的事嗎?
http://fiddle.jshell.net/sijav/2S7Pv/1/
有一堆的方法可以做到這一點,但我的方法是:
使用另一個DIV和半徑邊境它,然後把它實際股利背後...

.origdiv{ 
    width:200px; 
    height:200px; 
    background: blue; 
    z-index:10; 
} 
.shadowthis{ 
    left:150px; 
    top:150px; 
    position:absolute; 
    box-shadow: 10px -10px 5px #888888; 
    border-bottom-right-radius:25%; 
    z-index:9; 
} 

希望它可以幫助

+1

雅你很可能得到它,但作爲@JoshC正在使用:之前/:之後是一個更清潔,隨着瀏覽器的發展,我不應該有很多衝突 – user934902