|
|
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
В кои то веки решил сделать для проекта "правильную" кнопку, которая ведет себя "правильно" не только с мышкой, но и с клавиатурой. Нормальных вариантов реализации, очевидно, 2 - на ссылках и, собственно, сама кнопка (очевидней, конечно, второй вариант, но он не лишен недостатков, поэтому упомянул именно о двух). Да, кстати, рассматривается использование в "нормальных" браузерах, исключается применение ИЕ6-7 и Оперы. Ссылки (c атрибутом tabindex): то есть просто кнопка, кнопка с наведением, кнопка с фокусом (или наведение с фокусом) и активная кнопка. Очевиные минусы: - необходимость использования, собственно, ссылки (со всеми "прелестями" - наличие href, невозможность делать дефолтный сабмит, небольшая погрешность центрирования по вертикали в разных браузерах - в пределах пиксела, но вылазит); - обработка нажатия только через Enter, пробел не работает (без дополнительных скриптов); - клавишное нажатие никак не отмечается (Enter срабатывает по keydown, а не keypress); - при наличии в форме кнопки submit и наведенном фокусе на нашу кнопку при нажатии на Enter форма не отправляется. Кнопки (скрины из Хрома): тоже простая кнопка, кнопка с фокусом, кнопка с наведением мыши и активная кнопка. Привожу скрины двух кнопок, чтобы показать, что разницы между <button>Button</button> и <input type="button" value="Button"/> нет (правда, ее нет для Хрома и ФФ - на пиксель ниже, а в ИЕ9 <button> по центру, а <input> на пиксель ниже). Надо использовать такую реализацию, но есть одно "но", относящееся к Хрому: - если на кнопке фокус, то клик по ней (состояние :active) визуально приводит кнопку в состояние :hover, в остальных нормально; - при клике на кнопку (или нажатию на пробел) кнопка теряет фокус, чего не наблюдалось с ссылкой. Такое поведение в Хроме мне крайне удивительно и непонятно - почему уходит фокус? Понятно, в Сафари такая же ерунда. Для объективности прилагаю стиль кнопки: Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. Ну, и заодно - как простым и доступным способом "поднять" на пиксель надпись (отцентрировать по вертикали) в ФФ и то же по отношению к <input type="button"> в ИЕ9. Тоже, первая кнопка - <input type="button">, вторая - <button>. Как видно, ФФ еще и удлинил кнопки. Допускаю, что решение простое и просто прошло мимо незамеченным. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2012, 17:14:25 |
|
||
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
Занимался другого рода кнопками (для соцсетей) и снова столкнулся с различиями в отображении. Решил. Надо руководствоваться правилами: 1. Использовать всегда <input type="button"> и <input type="submit">. Так уходим от различий для ИЕ. 2. Не знал, что ФФ при отображении всегда оставляет место для фокусной рамки, даже если принудительно стоит outline:none или outline:0. Использование стиля Код: css 1. 2. 3. 4. полностью решает данную проблему. 3. При использовании фокуса всегда использовать не только :active, но и :focus:active, иначе ФФ использует приоритетный :focus. Большое спасибо за оказанную помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 02:04:04 |
|
||
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
Зачем тратить долгие дни на выдрачивание одинаковости до пикселя (если этот пиксель не является дефектом )? Сферический посетитель использует один браузер, свой любимый, он не заметит и не оценит потраченных усилий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 09:53:16 |
|
||
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
Упаси боже! Если бы я тратил "долгие дни", то не спрашивал бы тут. Попробовал - не получилось, решил спросить, чтобы не терять время. Правда, ответа не получил. А вчера снова вернулся к вопросу. А так как в процессе формирования вопроса у меня появилась конкретика задавания этого самого вопроса, то гугл мне помог значительно сильнее: введение запроса "css button firefox надпись нижу" в первых же ссылках дало решение, о чем я тут и поделился. В большинстве своем не занимаюсь "вдосконаленістю", но когда кнопка 22 пикселя в высоту, то сдвиг вниз очень уж бросается и раздражает. Тем более, что я привык, что решаю любой вопрос. Кстати, именно для того, чтобы не задумываться о различиях в разных браузерах, я взял KendoUI - в принципе, немало скрипта, но результат налицо - шустро и одинаково (только ИЕ8 без "завитков", но это непринципиально). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:11:56 |
|
||
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
Просто я сейчас начал осиливать адаптивный дизайн, и понял, что вариантов внешнего вида может быть не меньше вариантов разрешений и браузеров. Тут важно, насколько удобным является дизайн на данном конкретном экране, а не в сравнении с другими экранами. Значительные расхождения внешнего вида в угоду удобства при этом не только допустимы, но и всячески приветствуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:27:48 |
|
||
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
Antonariyесли этот пиксель не является дефектом Вот для чего я и взял внешний фреймворк ... Только добавил свои стили и подложку: До пикселя не сходится - в пределах одного-двух, но на общую картинку это не влияет, так как все плавающее. Да и ИЕ8 не так чтобы сильно выпадал и функциональность не страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:32:51 |
|
||
|
CSS и кнопка
|
|||
|---|---|---|---|
|
#18+
IE 6-8 — паршивцы.) Для них нужен отдельный дизайн, заточенный под 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2012, 13:39:38 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1449525]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
193ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 455ms |

| 0 / 0 |
