축약 형 배경 속성 (CSS3)의 background-size


112

나는 혼합하기 위해 노력하고있어 background-imagebackground-size일손에 속성 background속성입니다. W3C 문서를 기반으로 속성 background-size뒤에 background-position슬래시 ( /)로 구분 되어야합니다 .

W3C 예 :

p { background: url("chess.png") 40% / 10em gray
       round fixed border-box; } 

다음과 같습니다.

p {
    background-color: gray;
    background-position: 40% 50%;
    background-size: 10em 10em;
    background-repeat: round round;
    background-clip: border-box;
    background-origin: border-box;
    background-attachment: fixed;
    background-image: url(chess.png) }

MDN도 같은 말을합니다. 나는 또한 발견 속기 CSS3 배경 속성이 설명에 대한 기사를.

그러나 이것은 작동하지 않습니다! 또한 약식 만드는 방법을 분명하지 않다 background속성을 때 background-sizebackground-position두 개의 서로 다른 값을 가질 수 background-position-xbackground-position-y또는 같은 일 background-size. 슬래시 ( /)가 어떻게 발생하는지 명확하지 않습니까? 이 예제 는 내 Chrome 15에서 작동하지 않습니다.

내가 축약하려고 시도한 예는 다음 CSS 코드입니다.

div {  
    background: url(http://www.placedog.com/125/125) 
        0 0 /  150px 100px 
        repeat no-repeat 
        fixed border-box padding-box blue;      
    height: 300px;
    width:360px;    
    border: 10px dashed magenta;  
}

더 깨끗한 예

이것은 작동합니다 ( JSFiddle )

 body{
        background-image:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png);
        background-position:200px 100px;
        background-size:600px 400px;
        background-repeat:no-repeat;
    }

이것은 작동하지 않습니다 ( jsfiddle )

body{
    background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 200px 100px/600px 400px no-repeat;
}

이것도 작동하지 않습니다 ( jsfiddle )

body{
    background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 200px/400px 100px/600px no-repeat;
}

3
배경 크기의 속기를 지원하지 않는 Safari에주의하십시오! Safari는 지원하지 않습니다! Safari가 질식하지 않도록 배경 크기를 배경과 분리하십시오!
Jeff

답변:


63
  1. 귀하의 jsfiddle background-image대신background
  2. "아직이 브라우저에서 지원하지 않는"경우 인 것 같습니다.

이것은 Opera에서 작동합니다 : http://jsfiddle.net/ZNsbU/5/
그러나 FF5 나 IE8에서는 작동하지 않습니다. (오래된 브라우저의 경우 : D)

코드 :

body {
  background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 400px 200px / 600px 400px no-repeat;
}

다음과 같이 할 수 있습니다.

body {
    background:url(http://www.google.com/intl/en_com/images/srpr/logo3w.png) 400px 400px no-repeat;
    background-size:20px 20px
}

FF5 및 Opera에서는 작동하지만 IE8에서는 작동하지 않습니다.


브라우저 지원 문제가 아니라고 생각하십니까?
Kraz

1
CSS3의 올바른 사양이 무엇인지 궁금합니다 background.
Mohsen

귀하의 질문이나 내 코드 예제에서와 똑같이 W3C가 정의한 것입니다. 아직 모든 브라우저에서 구현되지 않았습니다.
Kraz

Chrome Canary에서는 작동하지 않습니다. 나는 그것이 아직 구현되지 않았다는 것을 믿을 수 없습니다.
Mohsen 2011 년

이 부분에 대한 답변으로 선택 : "아직이 브라우저에서 지원되지 않는"경우 인 것 같습니다.
Mohsen 2011 년

14

당신은 할 수 있습니다

 body{
        background:url('equote.png'),url('equote.png');
        background-size:400px 100px,50px 50px;
    }

이것이 가장 큰 도움이되었습니다. 위의 각 URL에 대해 하나씩 쉼표로 배경 크기 선언을 분할 할 수 있는지 몰랐습니다.
Nathaniel Flick

9

참고 용으로 : 나는 이렇게 속기하려고했습니다.

background: url('../images/sprite.png') -312px -234px / 355px auto no-repeat;

그러나 iPhone Safari 브라우저는 고정 위치 요소로 이미지를 제대로 표시하지 못했습니다. 나는 게으 르기 때문에 고정되지 않은 사람과 확인하지 않았습니다. 나는 background 속성 뒤에 background-size를 두도록주의하면서 CSS를 아래의 것으로 전환해야했다 . 반대로 수행하면 배경이 배경 크기를 이미지의 원래 크기로 되돌립니다. 그래서 일반적으로 배경 크기를 설정하기 위해 속기 사용을 피할 것입니다.

background: url('../images/sprite.png') -312px -234px no-repeat;
background-size: 355px auto;

여기에 같은 안드로이드 4.1.2 주식 브라우저
depoulo

1

이렇게 해봐

body {
   background: #fff url("!--MIZO-PRO--!") no-repeat center 15px top 15px/100px;
     }


/* 100px is the background size */

-5

다른 브라우저를 지원하려면 공급 업체 접두사를 사용해야하므로 속기에서 사용할 수 없습니다.

body { 
        background: url(images/bg.jpg) no-repeat center center fixed; 
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
}

1
이것은 올바르지 않습니다. 나는하지 않는 해야 내가 지원 된 브라우저하지 않으려면 공급 업체 접두사를 사용
모흐센을

이 공급 업체 접두사는 여전히 작동하며 일부 브라우저에서는 최근에야 삭제되었을 수 있습니다.
Moin Zaman 2011 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.