Охохо… а я ещё и кошек сильно не люблю. Так и хочется сказать: любите своих котов, но не надо говорить, что коты — лучшие други айтишников. Неправда это… Вернее, правда не для всех.
IE6, например, игнорирует этот псевдокласс для всех элементов, кроме «a». Вот такой вот фикус-пикус :(
Но в дискуссии выше мы сошлись во мнении, что правильная семантика важнее, чем шестой експлорер.
Можно конечно попробовать придраться, но по сути я с Вами согласен. И ссылка должна быть ссылкой. И :hover в нормальных браузерах обрабатывается корректно. И шестой експлорер надо выкорчёвывать калёным железом. Так что проблема теряет актуальность с каждой минутой.
О чём собственно я и написал :) Если правильно указать список поддерживаемых браузеров, то можно писать на «чистом» HTML5, без применения скриптов и хаков.
Если это реальная ссылка, то настоящий адрес в ней уже будет. Если адреса нет, то и ссылки быть не должно. А должен быть любой элемент с cursor:pointer и обработчиком onclick. Это называется семантика и обратная совместимость.
Использование ссылки вместо кнопки частенько помогает избежать использование яваскрипта для обработки «hover». Можно, конечно, утверждать, что всё это финты ушами, но…
Человек обычно идёт по пути наименьшего сопротивления. И верстальщик тоже может попытаться решить какие-то проблемы наиболее «простым» (читай быстрым) способом, даже если результат будет заведомо плох. Ибо если нигде не обговорено иное, то можно и «схалтурить». Например, структуризация CSS файлов — дело нужное для дальнейшего девелопмента, но не имеющее явного внешнего отображения. Потому, если сроки поджимают, а требование не сформулировано явно — его можно и не выполнять. Даже зная, что так сделать — не совсем правильно.
О да. И это, кстати, одна из распространённых проблем — многие дизайнеры не придерживаются каких-то стандартов, в результате на разных макетах могут быть разные отступы, кнопки могут быть выполнены с разными градиентами, блоки на страницах перекрывать друг дружку и т.д. и т.п. Но, имхо, указать метод «рисования» кнопок — это всё же работа дизайнера. Верстальщик не должен гадать, так или эдак рисовать градиенты.
Я понял, что Вы имеете в виду. Конечно, так и стоило бы сделать. В идеале. Но дизайнер разве не такой же метод использует? Вернее, похожий?
Ибо если так, то кто ему мешает положить этот градиент на отдельный слой, чтоб верстальщик мог использовать готовую заготовку? К тому же и у дизайнера работа упростится — не надо плодить градиентных кнопок, а просто повторно использовать готовую методу.
А если он использует другой метод — кто поручится, что просто наложение градиентной кнопки на фон даст точно тот же переход цветов, который был нарисован?
Хм… дизайнер при изображении кнопок уже создал этот градиент. Зачем верстальщику это делать снова? Тем более как-то ведь надо дать понять верстальщику, что все кнопки будут выглядеть именно так, именно с таким градиентным переходом.
Ну на самом деле Вы посмотрите на какое сообщение я отвечал и к чему именно относились мои возражения :) Я против категоричного утверждения, что верстать надо только самим а не искать более дешёвый вариант. Имхо практически любой девелопмент — часть некоего коммерческого проекта. А бизнес — он стремится снижать цену и повышать прафит.
Так что если удастся использовать более дешёвую рабочую силу, застраховавшись от рисков (хотя бы при помощи правил или использования БЭМ) — то так и стоит поступить.
Ещё раз повторюсь: при «том же результате». Доступность, загруженность, очное общение — как раз те вещи, которые позволяют повысить качество результата. Но они же, волей-неволей, повышают реальную стоимость работы. Ибо это и амортизация оборудования и арендная плата за помещение и налоговые/пенсионные выплаты по зарплате и необходимость оплаты времени простоя и т.д. и т.п.
Короче, оценивается соотношение цена/качество.
Иногда получается реально дешевле в финале иметь несколько фрилансеров на «чёрной работе» и, например, одного специалиста, который всё сведёт воедино, отшлифует, подправит, если надо. Говоря про дешевизну в финале имею в виду и расходы на подгонку к рабочему варианту получаемый от фрилансеров результат. Очень, очень часто бывает выгоднее использовать внешних разработчиков.
И именно для того, чтобы их использование было максимально эффективным (читай — потребовались бы минимальные усилия для допиливания/доработки) и нужны эти правила.
Но в дискуссии выше мы сошлись во мнении, что правильная семантика важнее, чем шестой експлорер.
Использование ссылки вместо кнопки частенько помогает избежать использование яваскрипта для обработки «hover». Можно, конечно, утверждать, что всё это финты ушами, но…
Ибо если так, то кто ему мешает положить этот градиент на отдельный слой, чтоб верстальщик мог использовать готовую заготовку? К тому же и у дизайнера работа упростится — не надо плодить градиентных кнопок, а просто повторно использовать готовую методу.
А если он использует другой метод — кто поручится, что просто наложение градиентной кнопки на фон даст точно тот же переход цветов, который был нарисован?
Так что если удастся использовать более дешёвую рабочую силу, застраховавшись от рисков (хотя бы при помощи правил или использования БЭМ) — то так и стоит поступить.
ЗЫ: спасибо за ссылку, кстати, любопытненько.
Короче, оценивается соотношение цена/качество.
Иногда получается реально дешевле в финале иметь несколько фрилансеров на «чёрной работе» и, например, одного специалиста, который всё сведёт воедино, отшлифует, подправит, если надо. Говоря про дешевизну в финале имею в виду и расходы на подгонку к рабочему варианту получаемый от фрилансеров результат. Очень, очень часто бывает выгоднее использовать внешних разработчиков.
И именно для того, чтобы их использование было максимально эффективным (читай — потребовались бы минимальные усилия для допиливания/доработки) и нужны эти правила.