2014-02-16 4 views
3

나는 전체 너비의 이미지를 클립해야합니다. 저반응이있는 전체 너비 이미지 자르기

  1. 클립의 다음 사항을 didnt 작업 : 블록 요소 아래
  2. 배경 위치 스택 해달라고 그래서 이것은 절대 위치를 필요 제대로 클립 그다지 잘린 부분의 경우 크게 증가하고 반대로 확대 된 경우.
  3. 래퍼 : 래퍼 높이는 브라우저 너비에 따라 다르므로 해당 값은 동적이어야합니다.

setinterval 1 밀리 초로 js를 사용했습니다. 래퍼 높이가 지속적으로 업데이트됩니다. 모든 시나리오에서 완벽하게 작동하지만 setinterval은 나쁜 습관입니다. 그래서 이것을 구현하는 더 깨끗한 방법을 제안하십시오.

document.onreadystatechange = setInterval(function() { 
    if (document.readyState == "complete") { 
    brow_width = document.body.clientWidth; 

    var h1 = (brow_width/7); 
    document.getElementById("clip1").style.opacity = "1"; 
    if(brow_width > 700){ 
    document.getElementById("clip1").style.height= h1; 
    } 
    else{ 
    document.getElementById("clip1").style.height= 110; 
    } 

    var h2 = (brow_width/33.33);  
    document.getElementById("clip2").style.opacity = "1"; 
    if(brow_width > 700){ 
    document.getElementById("clip2").style.height= h2; 
    document.getElementById("banner2").style.top= h2 - brow_width*0.35; 
    } 
    else{ 
    document.getElementById("clip2").style.height= 21; 
    document.getElementById("banner2").style.top= -220; 
    } 
} 
},1); 

<!--two different clips of the same image--> 
<div id="clip1"> 
<img id="banner1" src="banner.jpg"> 
</div> 
<div id="clip2"> 
<img id="banner2" src="banner.jpg"> 
</div> 
+0

의심의 여지가 있습니다. 반응적인 배너를 만들고 싶습니까? 또는 구체적으로 "클립"그 배너? –

+0

@MageshKumaar 나는 이미지를 자르려고하고 자른 부분은 전체 너비에 걸쳐 있어야합니다. 나는 나의 웹 페이지 URL을 공유하고있어서 내가 성취하고자하는 것이 무엇인지를 볼 수있다. 코드 된 HTML : http://goo.gl/noIyWO, 템플릿 : http://goo.gl/UnXniA –

+0

배경 이미지를 자르려고합니까? 너비를 100 %로 지정하고 절대 높이를 지정한 다음 이미지에'overflow : hidden;'을 설정하면됩니다. 템플릿의 모방을 위해 이미지의 오른쪽 부분을 얻을 수 있도록 여백을 설정할 수 있다고 생각합니다. – RDrazard

답변

1

이 시도 :

HTML

<div class="banner"> 
    <div class="bannerImg"></div> 
</div> 

CSS

.banner { 
    position: relative; 
    padding-bottom: 15%; 
} 

.bannerImg { 
    background-image: url(...); 
    background-size: cover; 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
} 

(여기도 : http://jsfiddle.net/N6mCw/)

아이디어는 외부 래퍼를 사용하여 이미지를 자르는 것입니다. 에 ... 가장 좋은 방법이지만

<div class="banner"> 
    <div class="bannerImg"> 
     <img src"…" /> 
    </div> 
</div> 

: 배경 이미지 대신 다음 9 IE <를 지원해야하는 경우에는 내부 사업부 내에서 <IMG> 태그를 추가하고 배경 이미지 CSS를 제거해야합니다 이 작업은 미리 정확한 가로 세로 비율로 이미지를 잘라내는 것입니다!

+0

실제로 동일한 이미지를 여러 번 자른 후 동일한 이미지를 여러 번 자르기를 원하는 경우 http 요청이 발생하지 않습니다. 그래서 나는이 방법이 그것을 원했던 것이다 대답에 대해 감사드립니다 :) –