Есть такой вариант.Могу привести пример для меню,но принцип думаю будет понятен. Такая структура: <ul> <li><a href="#"><span>Тут текст кнопки</span><em></em></a></li> </ul> Режем спрайт так: Первый спрайт: Левая длинная часть с левым углом.Снизу ховер состояние. Верх 30px и низ(ховер состояние) 30px,к примеру.Общая высота спрайта 60px; Второй спрайт: Правый маленький угол.Снизу ховерное состояние. Все элементы включая li флоатятся на лево. Для li задается высота 30px и overflow:hidden; Спану задается высота 60px и вешается основной спрайт с широкой полосой. Аналогично задается emу.Вполне вероятно,что появится отступ в 1пх от спана до ема.Убираем его отрицательным маржином на ем. На ховер делается отрицательный маржин на спан margin:-30px 0 0; Аналогично на ем. Что мы видим? Появилось ховерное состояние,но пропал текст. Делаем на спан padding:30px 0 0; Текст повился.Думаю доровнять дальше - не особая проблема. Для Ie6 используем фильтр альфаканалов. Не знаю почему,но если и пнг на спане и пнг на ем делать метод 'crop'.не срабатывает ховер. Я ставил на спан метод crop,а на ем метод 'none' Если ничего не забыл - все будет как положенно.