2012-06-17 4 views
4

나는 내가 시도하고있는 일을 좀 할 수있는 방법을 찾았지만이 일을하는 데 가장 좋고 선호되는 방법이 무엇인지 잘 모르겠습니다. . 기본적으로 1000px 고정 너비 #main div, 왼쪽 및 오른쪽면 해상도가 충분히 큰 경우 더 많은 너비를 채울 수있는 두 개의 별도 이미지를 갖고 싶어하지만 이미지가 계산되지 않으면 문서 너비쪽으로 희망은 그 말이 맞습니다. 어떤 제안?고정 너비 중앙, 동적 왼쪽 및 오른쪽 배경 이미지 열

+0

원하는 것을 이해하기 어려운 종류입니다. 해상도를 높이기 위해 코드를 게시하려고하면 해상도가 충분하지 않으면 – cantaffordretail

+0

을 더 잘 이해할 수 있습니다. 두 이미지를 숨기고 싶습니까? –

+0

@shadow_boi 예 정확히 – Drew

답변

2

배경 이미지 (예 : bg.jpg)를 1400 픽셀 너비로 만들 수 있습니다. 왼쪽과 오른쪽 이미지를이 bg.jpg에 놓으십시오.

왼쪽 이미지가 왼쪽으로 가장 많이 이동하면 오른쪽 이미지가 bg.jpg의 오른쪽으로 이동합니다. 결국에는 하나의 이미지, 즉 bg.jpg 만 갖게됩니다.

기본 래퍼가 가운데 맞춤이면 CSS를 본문에 추가 할 수 있으므로 배경 이미지도 가운데 맞춤으로 사용할 수 있습니다. 그러나 주 래퍼는 왼쪽 오른쪽 이미지를 덮지 않을 것입니다.

body{ 
background-image: url("bg.jpg") center 0 no-repeat; 
} 
+0

큰 문제는 유일한 문제는 두 개의 200x500 이미지가 분리 된 것과 달리 중앙에 1000px 크기의 큰 1400x500 이미지를 만들어야한다는 것입니다. 이렇게하면 더 많은 대역폭이이 방법처럼 보입니다. 하지만 CSS는 정말 깨끗하고 쉽고 원하는대로 작동하므로 이것이 아직 최고의 솔루션입니다! – Drew

0

두 개의 옆면 이미지의 너비가 각각 200px라고 가정하면 뷰포트가 1400px보다 넓은 경우에만 표시하려고합니다.

CSS 미디어 쿼리를 사용하여이를 수행 할 수 있습니다. 오래된 브라우저 (IE7은, 8) 미디어 쿼리를 이해하지 않기 때문에 측면 이미지가 그 브라우저에서 표시되지 않을 것이라는 점을 염두에

.side-img { 
    display: none; 
} 

@media screen and (min-width: 1400px) { 
    .side-img { 
     display: block; 
    } 
} 

곰.

그 다음은 자바 스크립트 기반 솔루션을 선호 할 수있는 문제,이 jQuery를 함수의 라인을 따라 뭔가의 경우 : 당신이 배경 이미지로 두 이미지를 설정하지 않는 이유는

$(window).bind('resize',function(e){ 
    calcWidth(); // Called whenever window is resized. 
}); 

function calcWidth(){  
    var sideImgs = $('.side-img'); 
    var winW = $(window).width(); 
    if (winW > 1400){ 
     sideImgs.css('display', 'block'); 
    } else { 
     sideImgs.css('display', 'none'); 
    } 
} 

calcWidth();​ // Run this on page load. 
+0

이것은 재미있는 해결책입니다. 오래된 브라우저에서는 표시되지 않더라도 걱정하지 않으므로 js를 생략 할 수 있습니다. 내가 가지고있는 유일한 문제는, 말하자면, 윈도우가 1200 폭이라면 여전히 이미지를 표시하고, 왼쪽과 오른쪽 모두 100px를 보여 주며, 중간 정도를 잘라 내면됩니다. #main의 #wrapper div에 배경 이미지를 사용하여 찍었지만 배경 이미지의 왼쪽/오른쪽 위치를 동적으로 재 위치시키고 #main div 옆에 항상 올릴 수있는 방법을 알 수는 없습니다. – Drew

1

: (매우 간단)

background-image: url("background_one.png"), url("background_two.png"); 
background-position: left top, right top; 
background-repeat: no-repeat; 
+0

이것이 가장 쉬운 해결책이라고 생각했지만, 이미지를 왼쪽 상단이나 오른쪽 상단에 배치하는 것을 원하지는 않습니다. 페이지 상단의 위치를 ​​원하지만 왼쪽 및 오른쪽 정렬을 #main div 바로 옆에 배치하여 페이지 크기가 조정되면 동적으로 이동할 수 있습니다. – Drew

관련 문제