2014-04-14 4 views
-1

현재 클라이언트 용 모바일 웹 사이트에서 작업하고 있지만 다음 작업을 수행 할 수는 없습니다. 이 모바일 사이트의 홈페이지는 사용자가 선택하는 2 개의 큰 이미지로 나뉩니다. 세로 모드는 다음 코드를 사용하여 이미지를 홈페이지에 스태킹하여 완벽하게 작동합니다.가로로 전환 할 때 이미지 순서 변경

<p><a href="/female"><img alt="" src="image1.jpg" style="width: 100%; height: 51%; position: absolute; margin-top:0; left:0; right:0;" /></a> 
<a href="/male"><img alt="" src="image2.jpg" style="width: 100%; height: 49%; position: absolute; bottom:0; left:0; right:0;" /></a></p> 

이 세로 모드에서 동안 모든 장치에서 완벽하게 잘 작동하지만 문제는 바로 이러한 장치가 세로 모드에서 사용되는 바와 같이, 이미지가 너무 많이 뻗어받을 것입니다. 물론 이것은 100 % 너비 때문입니다.

이상적인 상황에서; 풍경으로 전환 할 때 전혀 다른 이미지가 서로 겹치지 않습니다.

예;

 ___     ________ 
    | 1 |    | 1 2 | 
    |_2_|    |________| 
Portrait mode   Landscape mode 

제 그림이 의미가 있습니다.

답변

0

나는 이것을 수행하는 데 javascript를 사용하기 때문에 모든 모바일 브라우저/장치 또는 resize 이벤트에서 지원되지 않는 onorientationchange 이벤트를 사용할 수 있습니다. orientationportrait 경우에만

1

당신은, 규칙이 적용되는 특성 orientation에 대해 쿼리 @media 규칙을 사용할 수 있습니다 (기본값은 풍경입니다) :

여기
img { 
    width: 100%; 
    height:100%; 
    box-sizing:border-box; 
    border:1px solid green; 
} 
a { 
    display:inline-block;  
    width:50%;   
} 
@media only screen and (orientation:portrait) { 
    a { 
    display:block;   
    width:100%; 
    } 
} 

이를 테스트하려면 working fiddle. 입니다 바이올린, 당신은 풍경에서 초상화로 또는 그 반대로 변경되도록 디스플레이 창 크기를 조정해야합니다.

+0

이 문제는 가로로 보면 이미지가 100 % 너비와 50 % 높이가되어야한다는 것입니다. 조경에서는 이미지가 50 % 너비와 100 % 높이가되어야합니다. – Mar1

+0

@ Mar1 상대적인 너비/높이 (백분율로)를 적용했을 때 부모의 특정 크기를 알아야합니다. 부모 크기로보기 크기를 선택하고 여기에서 피들을 업데이트했습니다. http://jsfiddle.net/viphalongpro/MSkw9/2/당신이 원하는 바란다. –

+0

고마워, 그게 내가 원하는 걸 똑같이 보이기 시작했다. 내 webshop을위한 모듈 내에서이 모든 작업을 시도하고 있으므로 이미지 용 CSS가 실제로 stylesheet.css 파일을 엉망으로 만들고 있습니다. – Mar1

관련 문제