Bạn có thể làm điều này với ít CSS như thế này:
.myClass { background: url(../Images/Sprite.png) no-repeat;
height: 20px;
width: 40px;
background-position: -40px 0;
display: block; }
.myClass:hover { background-position: -40px -20px; }
Dù có lớp class="myClass"
sẽ phải chỉ là hình ảnh trong đó, không có gì khác. Đây có thể là <a>
một số <input>
hoặc một số bình thường <div>
, bất kể bạn muốn gì.
Đó là hình nền ... nhưng đó là phần tử bạn đang xem, không có gì ở phía trước nền đó. Chỉ vì bạn đang sử dụng background-image
cho thuộc tính không có nghĩa đó không phải là phần tử tiền cảnh ... giống như nút bạn có thể nhấp vào. Bạn có thể làm điều đó như sau:
<input type="button" class="myClass" />
Nguồn
2010-03-11 19:58:25
Genius, cảm ơn bạn !! – Summer
Đây là IMO quá mức, bạn chỉ có thể đặt đầu vào thành khối hiển thị và loại bỏ div/wrapper ra khỏi phương trình tất cả cùng nhau, đó là một cách tiếp cận đơn giản hơn nhiều. –
@Nick Điều đó không có ý nghĩa gì cả. Làm thế nào bạn sẽ áp dụng một sprite mà không sử dụng container? –