나는 결코 전에 그것을 시도하지 않았습니다. 두 개의 아이콘이 포함 된 이미지 스프라이트를 만들었습니다. 각 아이콘의 너비는 26px이며 높습니다. 따라서 스프라이트는 26x52 픽셀입니다.CSS : CSS 의사 클래스로 이미지 스프라이트 사용하기 : 이전 및 이후
div.something 또는 div.anything에있는 요소가 있습니다. 클래스에 따라 왼쪽 또는 오른쪽에 모서리 뚜껑을 추가하고 싶습니다.
그래서 나는 .element 상대 위치를 지정하고 있습니다. :before
pseudoclass를 img에 적용하고 높이와 너비를 26px로 지정하여 스프라이트의 하나의 아이콘 만 맞 춥니 다. "오버플로 : 숨겨진 "스프라이트에 두 번째 아이콘을 숨기려면.
.element {
position:relative;
}
.element:before{
content: url("../images/sprite.png");
position: absolute;
height:26px;
width:26px;
overflow:hidden;
}
.something .element:before {
top: -2px;
left: -2px;
}
anything .element:before {
top: -28px;
right: -2px;
}
스프라이트에서 첫 번째 맨 위 아이콘을 사용하는 왼쪽 모서리에서 정상적으로 작동합니다. 그러나 이제는 "anything .element"에 대한 스프라이트의 두 번째 아이콘 만 표시 할 수 있습니다.
실제로 "마스크"는 -2px, -2px에 있어야하지만 스프라이트 img 내부는 -26px에서 시작해야 두 번째 아이콘이 표시됩니다.
내가 지금하고있는 것처럼 CSS로 가능합니까?
당신이 지금까지 무엇을의 http://jsfiddle.net/ 데모를 보여줄 수를 이해하는 데 도움이 될 것입니다? 내가 아는 한': before'는'img' 엘리먼트 (http://jsfiddle.net/thirtydot/CWXS3/)에서 작동하지 않습니다. 그래서, 당신의 질문은 다소 혼란 스럽습니다. – thirtydot
내 질문에 .element not img이 (가) 편집되었습니다. 그냥 이해하기 쉽게 만들고 싶었습니다. 그것이 작동하지 않는다는 것을 모르고 있었다 img – matt
글쎄, 그건 의미가있다. 당신이받은 대답은 정확합니다. 이것을 읽으십시오 : http://tinyurl.com/so-hints. 나는이 부분을 좋아한다. ""실제 코드와 같은 "코드이지만 실제로는 진짜 코드가 아닌 코드를 내게주지 마라." – thirtydot