Я пытаюсь изящно решить проблему моделирования с некоторыми кнопками и изображениями. Моя цель состоит в том, чтобы иметь кнопки, которые похожи на следующее:
(Макет Hacky mspaint)
(источник: robhruska.com)
Однако у меня есть ряд критериев, которым я хотел бы соответствовать:
:hover
состояния, которые изменяют фоновый значок.:hover
, но сам значок не должен изменяться.У меня есть и изображение значка и изображение градиента, доступное мне в вертикальном изображении спрайта CSS.
В настоящее время я могу только думать, чтобы сделать это с отдельными наборами стилей для текстовых кнопок и кнопок только для значка, вроде:
Мне особенно не нравится использовать внутреннее Суммировать мой вопрос: Как я могу сделать это с единственным стилем верхнего уровня на Мне действительно не нужен полный пример кода, просто предложение для того, как это могло бы быть выполнено лучше всего., вместо того, чтобы использовать вложенные элементы или отдельные стили для значка - по сравнению с текстовыми кнопками? Это должен не обязательно быть a
также, это мог быть любой элемент, если это выполняет это изящно.
Вы можете немного уменьшить разметку:
<div class="button">
<a class="yourIcon">Button Text</a>
</div>
.button получает изображение градиента.
.yourIcon при желании может затем получить значок для фона.
Вы можете использовать максимальное упрощение: просто используйте градиент в качестве фона и вставьте другой тег со значком в качестве фона внутри, используйте свойство css vertical-align (оно принимает значения%) для размещения значка правильно выровнен по тексту.
вместо использования тегов div рассмотрите возможность использования тега
, он экономит вам несколько байтов, и, кстати, это метод Google.
надеюсь, что это поможет
Можете ли вы просто создать 2 отдельных кнопочных элемента и использовать абсолютное позиционирование, чтобы кнопка с пиктограммой располагалась поверх большой кнопки?