|
 2.5 Кб |
|
| Здравствуйте!
Не сталкивался ли кто со странностью в FF, когда текст в поле при заданных размерах шрифта и ширины поля не умещается в видимой части поля ?
Вот страница, которая корректно отображается в FF, IE6+, Хром 7, Сафари 4, Опера 10:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>input test</title>
<style type="text/css">
#date1, #date2 {
font-family: Arial, sans-serif;
font-size:12px;
width:64px;
padding:0;
margin:0;
border:1px solid red;
}
</style>
</head>
<body>
<form method="get" action="script.php">
<fieldset>
<input type="text" name='date1' id="date1" value="01.11.2010" /> -
<input type="text" name='date2' id="date2" value="12.08.1999" />
<span>введите даты</span>
<input type="submit" value="отправить" />
</fieldset>
</form>
</body>
</html>
|
Но стоит теперь поменять размер шрифта и ширину элемента на следующие (а мне нужно добиться корректного отображения именно при таких размерах):
font-size:12px;
width:64px;
|
то в FF текст "срезается". В остальных браузерах при этом все нормально.
Заметил такое в FF начиная 3.6.10, потом обновился до 3.6.11, там стало все нормально отображаться, но через какое-то время опять начались такие же баги. Т.е. иногда баг есть, иногда - нет. Не могу понять причину такого явления.
Хотя на скриншоте визуально заметно, что текст во втором случае рендерится как будто с большим letter-spacing.
Можно конечно ставить letter-spacing:-1px, но в других браузерах при этом все некрасиво выглядит.
Что подскажете ? | |
|
|
|
|
|
|
|
для: clock
(01.12.2010 в 13:11)
| | В FF 6.3.12 все выглядит,как и в остальных.Может,баг самого обозревателя? | |
|
|
|
|
|
|
|
для: Агамемнон
(01.12.2010 в 13:36)
| | Похоже, что это баг ff. Только не понимаю, почему баг то проявляется, то нет...
Причем баг выявлен на трех доступных мне компьютерах, т.е. это не проблема какой-то одной конкретной машины. | |
|
|
|
|
|
|
|
для: Агамемнон
(01.12.2010 в 13:36)
| | Еще выяснил, что если заменить шрифт на Verdana или Tahoma и подобрать ширину поля, то все нормально во всех браузерах. Т.е. с Arial какие-то глюки. | |
|
|
|
|
|
|
|
для: clock
(01.12.2010 в 15:54)
| | Как-то сквозь пальцы первый раз прочитал Ваш код,это не баг броузера.Причина в том,что Вы жестко задаете ширину текстового поля.Положено задавать ее в количестве символов,которое может вместить поле,т.е. size:какое-либо целое положительное число.Соответственно,при разной гарнитуре и размере шрифта броузер автоматически подстраивает ширину поля.При width:60px,например,режет в любом броузере. | |
|
|
|
|
|
|
|
для: Агамемнон
(01.12.2010 в 16:59)
| | Попробовал сделать так как вы написали, т.е. убрал явное задание ширины в px и поставил size="7". Все нормально отображается, кроме Оперы 10, т.к. в ней надо ставить size=10, но в остальных в этом случае поле слишком длинное получается.
Но все равно это странно. Вот только что поставил последний FF на ПК, где ранее он не был установлен, так там все нормально показывает. | |
|
|
|
|
|
|
|
для: clock
(02.12.2010 в 12:56)
| | Видимо,это особенности отображения данного тега разными броузерами.Лично я никогда не обращал на эти различия внимания,т.к. всегда прописываю ширину в атрибуте size,его,кстати,лучше прописывать в самом теге <input>.Могу только порекомендовать подключать скрипт,определяющий тип броузера,и в зависимости от этого устанавливать разную ширину текстового поля.
Прописал <input type="text" name='date1' id="date1" size="10" value="01.11.2010" />
<input type="text" name='date2' id="date2" size="10" value="12.08.1999" />.Судя по всему,броузеры по-разному учитывают наличие точек в поле:EE и FF считают,что символов 8 и резервируют место еще под 2 цифры,а Оpera считает цифры вместе с точками,как-то так.
http://htmlbook.ru/html/input/size | |
|
|
|
|
|
|
|
для: Агамемнон
(02.12.2010 в 13:56)
| | Видимо действительно придется определять тип браузера.
Скрипт не нужен, т.к. в jquery это есть, но все равно спасибо.
Просто хотел разобраться в вопросе, в том смысле решаемо это или нет без скриптов и css хаков.
PS Что-то не нашел на форуме опции, позволяющей получать уведомления об ответах в теме. Ее нет или я плохо искал ? | |
|
|
|
|
|
|
|
для: clock
(03.12.2010 в 12:08)
| | Опция есть,но не очень удобная:новый очередной вопрос-ответ отображается какое-то время в скобках на странице форума(нужно периодически заходить на сайт и проверять появление ответов),сам топик перемещается в верх страницы,а "внутри" топика последнее сообщение помечено словом "новое". | |
|
|
|