배경 이미지 : 이미지가 작거나 그 반대 인 경우 전체 div를 채우는 방법


79

세 가지 문제가 있습니다.

  1. 작은 크기의 div에서 배경 이미지를 사용하려고하면 div에 이미지의 일부만 표시됩니다. 이미지의 전체 또는 특정 부분을 표시하려면 어떻게해야합니까?

  2. 더 작은 이미지가 있고 더 큰 div에서 사용하고 싶습니다. 그러나 반복 기능을 사용하고 싶지 않습니다.

  3. CSS에서 이미지의 불투명도를 조작하는 방법이 있습니까?

답변:


128

div 크기에 맞게 이미지 크기를 조정합니다.
CSS3를 사용하면 다음을 수행 할 수 있습니다.

/* with CSS 3 */
#yourdiv {  
    background: url('bgimage.jpg') no-repeat;
    background-size: 100%;
}

웹 페이지에서 배경 이미지를 늘리는 방법 :

불투명도 정보

#yourdiv {
    opacity: 0.4;
    filter: alpha(opacity=40); /* For IE8 and earlier */
}

또는 CSS 이미지 불투명도 / 투명도를보십시오


그러나 이것은 (V의 노하우로, 유사하다) 여러 이미지를로드 할 서버를 통해 부담을합니다 .. 그래서 대신에 하나 개의 이미지를 사용하고 strechg n 개의 collasping가 어떻게 더 나은 way..but DNT의 노하우이며, 여러 개의 이미지를 사용하여 ..
Aakash 사 하이

포인트 1과 2는이 문제에 대한 해결책이 아닙니다. 첫 번째 요점은 사진의 종횡비를 유지하는 것이고 두 번째 요점은 전혀 작동하지 않는 것 같습니다. 다음은 .. 제 생각 엔 몇 가지 해킹 고수 꼭까지 CSS3와 배경 크기의 속성은,이 문제를 해결합니다
Sondre

IE는 이것을 지원하지 않습니다 (bg-size). 해야 할 일?
KarSho 2013 년

82

이미지를 자동으로 확대하고 일부를 채우지 않고 전체 div 섹션을 덮으려면 다음을 사용하십시오.

background-size: cover;

2
이 페이지에 대한 가장 작은 댓글과 내 경우 가장 큰 이점. 감사합니다
Ruslan Abuzant

1
나를 위해 작동하지 않지만 내 div는 <table> 내부 <tr> 내부 <th> 내부에 있습니다. 그 이유는 경우 그나마 알
user1709076가

귀하의 예제에 대한 jsfiddle을 plz 만들 수 있습니까? 우리는 당신을 도울 수 있습니다
Ouadie

22

이것은 나를 위해 완벽하게 작동했습니다.

background-repeat: no-repeat;
background-size: 100% 100%;

이것은 너비와 높이 모두 배경 이미지에 정확히 맞습니다.
Boris Gafurov

9

아래 코드 세그먼트를 시도해보십시오. 전에 직접 시도했습니다.

#your-div {
    background: url("your-image-link") no-repeat;
    background-size: cover;
    background-clip: border-box;
}

Stack Overflow에 오신 것을 환영합니다! 이 답변은 정확하고 유용 할 수 있지만 문제 해결에 도움이되는 방법을 설명하기 위해 몇 가지 설명을 함께 포함하는 것이 좋습니다. 이것은 작동을 멈추게하는 변경 (아마도 관련이 없음)이 있고 사용자가 한 번 작동 한 방식을 이해해야하는 경우에 특히 유용합니다.
Kevin Brown


6

이것은 매력처럼 작동합니다.

background-image:url("http://assets.toptal.io/uploads/blog/category/logo/4/php.png");
background-repeat: no-repeat;
background-size: contain;

감사. 구체적으로 찾고있었습니다. 몇 년 전에 잊었 어.
Alex Rogachevsky

포함은 전체 div를 덮지 않습니다. 그래서 엄폐물은 작전이 찾고있는 것 같습니다.
webs

0
  1. 나는 yossi의 예에 동의하며 div에 맞게 이미지를 늘리지 만 약간 다른 방식으로 확장합니다 (css 2.1에서는 약간 유연하지 않기 때문에 배경 이미지없이). 전체 이미지보기 :

    <div id="yourdiv">
        <img id="theimage" src="image.jpg" alt="" />
    </div>
    
    #yourdiv img {
        width:100%;
      /*height will be automatic to remain aspect ratio*/
    }
    
  2. 배경 위치를 사용하여 이미지의 일부 표시 :

    #yourdiv 
    {
        background-image: url(image.jpg);
        background-repeat: no-repeat;
        background-position: 10px 25px;
    }
    
  3. (1)의 첫 번째 부분과 동일하게 이미지가 div로 확장되므로 더 크거나 작게 둘 다 작동합니다.

  4. yossi와 동일합니다.


오류, 내 게시물의 서식이 작동하지 않습니까? 도구 모음 아이콘을 사용했습니다 ... :(
Bazzz 2011 년

나는 이전에 그것을 시도했고 nw도 .. 이미지 크기가 100px 100px이고 div가 400px 400px 크기라면 strechg..background-size도 작동하지 않는 상단 모서리에 고정됩니다 .ie8, firefox, chrome, 사파리 최신 브라우저
Aakash 사 하이

다음은 예입니다. jsfiddle.net/9mawE/1 div의 너비는 150px입니다. Google 로고는 너비가 150px 이상이지만 div에 맞게 축소됩니다. Google 어스 아이콘은 너비가 150px 미만이고 150px 너비 div에 맞게 확장됩니다. 배경 크기는 여전히 지원되지 않는 CSS 3이기 때문에 IE 8에서 작동하지 않습니다.
Bazzz 2011 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.