CSS 데모: background-attachment 데모 버튼을 클릭해 보세요!
뷰포트(viewport)
selector {
    background-attachment: /* value */
}
/* 키워드 값 */
background-attachment: scroll;
background-attachment: fixed;
background-attachment: local;

/* 글로벌 값 */
background-attachment: inherit;
background-attachment: initial;
background-attachment: revert;
background-attachment: revert-layer;
background-attachment: unset;
div {
    height: 200px;
    background-color: #00CED1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("earth.jpg");
    /* background-attachment 속성을 설정하지 않으면
       scroll 값이 적용된다는 의미입니다. */
}
실제 적용된 모습
div {
    height: 200px;
    background-color: #00CED1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("earth.jpg");
    background-attachment: fixed;
}
실제 적용된 모습
<div>
    <p>
        배경 이미지가 요소의 콘텐츠와 함께 부착되어
        요소에 스크롤이 존재하면
        배경 이미지은 콘텐츠와 함께 스크롤됩니다.
    </p>
    <p>
        배경 이미지가 요소의 콘텐츠와 함께 부착되어
        요소에 스크롤이 존재하면
        배경 이미지은 콘텐츠와 함께 스크롤됩니다.
    </p>
    <p>
        배경 이미지가 요소의 콘텐츠와 함께 부착되어
        요소에 스크롤이 존재하면
        배경 이미지은 콘텐츠와 함께 스크롤됩니다.
    </p>
    <p>
        배경 이미지가 요소의 콘텐츠와 함께 부착되어
        요소에 스크롤이 존재하면
        배경 이미지은 콘텐츠와 함께 스크롤됩니다.
    </p>
    <p>
        배경 이미지가 요소의 콘텐츠와 함께 부착되어
        요소에 스크롤이 존재하면
        배경 이미지은 콘텐츠와 함께 스크롤됩니다.
    </p>
</div>
div {
    height: 200px;
    background-color: #00CED1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("earth.jpg");
    background-attachment: local;
    overflow: auto;
    padding: 1em;
}
div p {
    color: white;
    font-size: 1.5em;
    text-shadow: 0 3px 3px #000;
    text-align: center;
}
실제 적용된 모습