2013-04-05 11 views
2

내 이미지에 반사 및 그림자가 있습니다 (이 CSS 사용). 문제는 다음과 같습니다. 그림자는 원본 이미지에만 있어야합니다 ... 이제 원본 이미지와 반사에는 그림자가 있습니다 (그림자도 반영됩니다).이미지 반사에는 그림자가 없어야합니다.

enter image description here

어떻게 편집해야합니다 (이 내 페이지의 바로 그 이미지는 아이폰의 스크린 샷되지 않습니다)?

-webkit-box-reflect: below 2px 
    -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.7, transparent), to(white)); 
    box-shadow: 0px 2px 2px 0px; 

들으

에버트

추신.

1) 첫 번째는 다른 사업부에서 이미지를 배치하고이 사업부에 그림자를 제공하는 것입니다 : 만 웹킷,이 문제를 해결하는 방법은 두 가지가 있습니다

+0

내가 문제를보고 있어요 확실하지 않다 CSS 마스크 속성에 대한 자세한 내용을보실 수 있습니다; 반사를 낮게 (그림자가 겹치지 않도록) 이동 시키면 반사에는 분명히 그림자가 없습니다. – metadept

+0

이렇게해도 문제가 해결되지는 않지만'-webkit-gradient'는 더 이상 사용되지 않습니다. 새로운 그라디언트 구문과 함께'-webkit-linear-gradient'를 사용해야합니다. –

+0

@metadept 스크린 샷이 질문에 추가되었습니다 .. 그리고 .. 반사가 더 낮을 것으로 생각되지 않습니다 ... – eds1999

답변

3

.. 웹킷을 위해 괜찮 설계되어있다. 이 같은
: 당신이 바로 .box에서 그림자를 적용하고 제공 할 수 있습니다

<div class="shadow"> 
    <div class="box"></div> 
</div> 

.box에만 상자가-반영합니다.

.box{ 
    width:100px; 
    height:100px; 
    border-radius:10px; 
    background:url(../your_image.xxx) no-repeat center; 
    -webkit-box-reflect: below 2px 
    /* DEPRECATED -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.7, transparent), to(white))*/ 
    -webkit-linear-gradient(top, transparent 0%,transparent 70% ,white 100%); 
} 
.shadow{ 
    width:100px; 
    border-radius:10px; 
    box-shadow: 0px 2px 2px 0px; 
} 

당신이 here

* 그 -webkit-그라데이션이되지 않습니다 참고, 당신은 -webkit-선형을 사용해야 작업 예제를 볼 수 있습니다
는 다음과 같이 (난 데모 용으로 만 이상의 속성을 추가) -gradient by matthias.p

2) 두 번째 방법은 .png 마스크를 만들려는 경우 반사에 -webkit-box-mask-image를 적용하는 것입니다.

.box{ 
/*...other properties here...*/ 
-webkit-box-reflect: below 2px 
-webkit-mask-box-image: url(mask.png) 75 stretch; 
} 

당신은 here

+0

완벽하게 작동합니다! 이걸 주셔서 고맙습니다. :) – eds1999