Pull to refresh

Comments 29

UFO just landed and posted this here
Почему это бывает надо:

1. Заказчик так захотел
2. Дизайнер так нарисовал

Конечно, обоих этих людей можно бывает отговорить, но не всегда.

По поводу подставления логина — ну что ж поделать. Красота и удобство в этом случае не смогут уживаться.
UFO just landed and posted this here
Я когда-то тоже пытался сделать что-то подобное, но потом решил, что без этого очень хорошо.

Удобство? Да для каждого интернет-серфера уже довно вошло в привычку видеть два поля рядом. Вот и все удобство.
1. я не верю, что заказчика нельзя будет убедить в этом.
2. нахрен такого дизайнера, который на столько не ценит время коллеги программиста/верстальщика.
Надписи на полях «логин» и «пароль» наиболее корректно офрмить как теги <label>,
которые позиционированы абсолютно и расположены над соответствующими полями.
Посмотрите, как это сделано в форме авторизации на странице yandex.ru
самый полезный способ в статье и не описан :)
для этого и придуманы комментарии :)
Собственно вот. Виталий Харисов все прекрасно описал.
Странно, ссылка пропала. Ладно, напишу так: company.yandex.ru/experience/verstka-elementov-v-obschem-vide/index.html#/presentation/20/
это как раз первое о чём я подумал, когда жал «читать дальше»
Предлагаю четвёртый вариант: прозрачный фон и надпись под инпутом.
Бордер тоже можно внизу подрисовать :)
Ну а вообще в ФФ не ломается, кажись.
«Сейчас стало очень модно делать формы, в которых заголовок поля для ввода написан в самом поле.»
— А я против такой моды. Имхо, надо писать стандартно — слева или сверху, а не внутри.
1. IE можно заставить понять такой метод. Для этого перед изменением типа можно вытащить инпут из дом-дерева. А после изменения — вставить обратно.
А можете написать как вы это делаете? Чего-то у меня с ходу не получилось, вылазит обычная ошибка IE про атрибут type, даже если элемент вынут из дерева.
Не думаю что отыщу IE для тестов сейчас или кусок кода что сие делал.

Похожий подход я использовал в шаблонизаторе для JS. В том месте где надо было выдать инпут, вызывался следующий код:

var input = document.createElement('input')
input.type="sometype"
parentElement.appendChild(input)

Если поменять местами 2 и 3 строчку — выдается ошибка в IE.

В данном случае код вкратце должен быть такой:

var input = document.getElementById('login')
var parent = input.parentNode
var before = getNextNode(input) // тут мы берем ноду, что иджет за инпутом
parent.removeChild(input)
input.type='smth'
parent.insertBefore(input,before)

такой код не работает, будет ошибка в ие в строке предпоследней строке, несмотря на то, что вы его вынимаете из дома.
Хм. Возможно там еще какая-то кракозяба. А возможно и не получится так сделать.

Мне щас не на чем погонять-потестировать. :(
А мне нравиться реализация на me.com. Там ни какие скрипты не используются. Только CSS.
Ага, и дополнительные классы там тоже сам css расставляет :)
Года два назад я прошёл весь этот путь, написал миниплагин на JS который для input'ов с определённым классом вставлял по дефолту значение соответствующего label'а. Написали слишком много вы. Причём большей частью вода-водой. Есть, например, такой вариант: сдвигать label на input и скрывать его по клику фокусу =) и кроссбраузерно и просто и JS минимум =)
Ой, меня уже опередили. Как я невнимателен (http://habrahabr.ru/blogs/webdev/65410/#comment_1830421)
Я скажу вам по секрету самый простой способ… background-image + hover, для IE6 подключить нужный хак или библиотеку и все счастливы и довольны :)
Sign up to leave a comment.

Articles