2017-05-22 7 views
0

당신의 도움이 필요합니다! 나는 배경 이미지가 있고 마우스를 올릴 때마다 이미지의 한 부분 만 이동 (회전 또는 확대/축소)해야합니다. This image is just an example but it's pretty similar what i have, except mine is more centered.하나의 이미지를 배경 이미지에 고정시키는 방법 (응답)?

마우스를 올려 놓을 때마다 조금 움직이는 사발에 작은 스티커 (정직하게 20 도나 어떤 종류의 애니메이션처럼 회전 시키길)를 원합니다.

나는 이미 스티커를 자르고 이제 두 개의 이미지가 있습니다. 내 div의 bg로 배경을 사용하고 있습니다. 여기 내 코드는 다음과 같습니다.

나는 그것이 있어야하는 곳에 스티커를 배치 할 수 있었지만 반응이 없습니다. 화면 크기가 조정되면 작은 스티커가 움직이며 그 해결책을 찾을 수 없습니다. 기본적으로 내가 필요로하는 것은 배경 이미지에 스티커를 고정하는 것이지만 가능하다면 나는 모른다. 나는 주변을 둘러 보았고 아무 것도 찾을 수 없었다.

누구에게 의견이 있습니까? CSS 만 사용하여이 작업을 수행 할 수있는 방법이 있습니까? jQuery에 대한 기본적인 지식 만 가지고 있으므로 피하고 싶습니다.하지만 이것이 유일한 솔루션이라면 그 점도 좋을 것입니다.

감사합니다.

EDIT : 배경과 같은 크기의 투명한 PNG 스티커를 사용해 보았습니다.하지만 호버 효과가 필요하기 때문에 결국 같은 문제가 발생합니다. 당신이 측정 단위로 폭스 바겐 사용하는 경우

+0

투명 PNG 스티커의 배경이 실제로 동일한 경우 어떻게합니까? 당신은 아무런 문제가 없을 것입니다, 2 요소, 두 배경은 호버에 줌 중 하나를 포함합니다. ... 그렇지 않으면, 작은 png 스티커가 있습니다 - 당신은 항상 같은 원하는 위치에 있고 부모가 bg 이미지를 포함하는 것처럼 크기를 조정하려고 계산 문제로 실행됩니다 ... –

+0

흠 ... 심지어 두 개의 동일한/크기 이미지 문제는 여전히 응답 및 애니메이션 회전 등에 대한 실제 '변환 원점'을 중심에 있습니다. –

+0

@ RokoC.Buljan 실제로 그것을 시도하고 완벽하게 작동하지만 같은 문제가 발생했습니다 : 스티커에 호버 효과를 적용해야하므로 이미지가 전체 화면을 차지하는 경우 작동하지 않습니다. 마우스를 놓고 스티커 위에 올려 놓을 수있는 새로운 요소를 만들어야합니다. 기본적으로 같은 문제입니다. – lulufv

답변

0

, 스티커는

.background-image { 
 
background-image: 
 
url(http://images.all-free-download.com/images/graphiclarge/butterfly_flower_01_hd_pictures_166973.jpg) !important; 
 

 
height: 40vw; 
 
background-position: center; 
 
background-size: contain; 
 
background-repeat: no-repeat; } 
 
.sticker{ 
 
width:20px; height:20px; position:absolute; 
 
top: 20vw; left:40vw; 
 
background:red; 
 
}
<header class="background-image"> 
 
    <div class="sticker"></div> 
 
    
 
</header>

+0

귀하의 스티커가 반응이 없습니다 ..... (OP의 질문에 대한 의견을 읽어주십시오) –

+0

@ RokoC.Buljan 제가 올바르게 이해한다면, 스티커가 배경에 비해 정확한 위치를 유지하는 데 어려움을 겪고 있습니다. 'Expand snippet' 옵션을 누르고 브라우저 창 크기를 조정해야합니다. 질문이 잘못 입력되었을 수도 있습니다. – andrew

+0

andrew ... 배경 이미지에 'contain ...'속성이 있고 스티커가 있습니까? 비율/위치가 엉망이 될 것입니다 .... 만약 당신이 어떻게'포함'작동하는지 깨닫게됩니다. 또한 귀하의 스티커는 항상 같은 크기입니다. 코드 서식도 이상합니다. –

0

나는 마침내 해결책을 발견 요소의 크기에 따라 추적 할 수 있습니다! 이것은 내 최종 코드입니다.

HTML: 
<div class="background"> 
<img src="..."/> 
<div id="pin" class="sticker"> 
</div> 
</div> 

CSS: 
.background { 
    margin:10px; 
    position: relative; 
    display: inline-block; 
} 

.map img { 
    max-width:100%; 
    display: block; 
} 

.box { 
    width:20%; 
    height:20%; 
    background-image: url(...); 
    background-position: top center; 
    background-repeat: no-repeat; 
    background-size: contain; 
    position: absolute; 
} 

#pin { 
    top:60%; 
    left:46%; 
}