2014-09-04 104 views
0

Hint如何移動盒子陰影?

這是CSS它是如何描述

.hint { 
background: url('/triangle.png') center right no-repeat; 
padding-right: 10px; 
box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.25); 
} 

如何移動留下了陰影10px的?

回答

3

你可以用CSS(不需要的圖像)做這一切:

.hint { 
    background:#F85B58; 
    display:inline-block; 
    position:relative; 
    color:white; 
    padding:20px; 
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.25); 
} 
.hint:before, .hint:after { 
    content:" "; 
    display:block; 
    position:absolute; 
    top:50%; 
    left:100%; 
    width:0px; 
    height:0px; 
    overflow:hidden; 
    margin-top:-10px; 
    border:10px solid transparent; 
    border-left-color:#F85B58; 
} 
.hint:before { 
    margin-top:-8px; 
    border-left-color:rgba(0, 0, 0, 0.25); 
} 

參見:http://jsfiddle.net/ro9nfhw6/

更改border-width使箭頭更嚴重(根據你的榜樣):

.hint:before, .hint:after { 
    border-width:6px 10px; 
} 

例如:http://jsfiddle.net/ro9nfhw6/1/

+0

請記住,支持:之前和之後:在舊版瀏覽器中並不好,如果它存在的話。 – evilunix 2014-09-04 14:48:56

+0

@evilunix注意到,但支持是相當不錯的 - [回到IE8事實上](http://caniuse.com/#feat=css-gencontent) – Moob 2014-09-04 14:51:57

0
.hint-outer { 
    background: url('/triangle.png') center right no-repeat; 
    padding-right: 10px; 
} 

.hint-inner { 
    box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.25); 
    height: 100px; 
} 


<div class="hint-outer"><div class="hint-inner"></div></div> 
+0

問題是,您需要將您的標記拆分爲多個div,然後單獨對它們應用陰影。框陰影將始終適用於整個div,即使它的一部分對您來說看起來是透明的。 – evilunix 2014-09-04 14:38:49

+0

它移動了一個影子,但影子出現在左側 – Alexey 2014-09-04 14:41:57

+0

問題影子在右下角?你需要將你的代碼分割成一個外部和一個內部DIV,並且只把陰影應用到內部DIV上。 – evilunix 2014-09-04 14:44:26