23
Денис Завгородний, веб-технолог, Digital-агентство AlterEGO

Сделай дизайнеру приятно: Красивые веб-формы

Embed Size (px)

DESCRIPTION

Возможности для стилизации веб-форм так, как их нарисовали дизайнеры. Рассматриваются различные варианты плагинов, а также возможности собственного плагина с API - jClever

Citation preview

Page 1: Сделай дизайнеру приятно: Красивые веб-формы

Денис Завгородний,веб-технолог, Digital-агентство AlterEGO

Page 2: Сделай дизайнеру приятно: Красивые веб-формы

1997 год HTML 3.21999 год XHTML 4.01

<form>

1

Page 3: Сделай дизайнеру приятно: Красивые веб-формы

2

Page 4: Сделай дизайнеру приятно: Красивые веб-формы

3

Page 5: Сделай дизайнеру приятно: Красивые веб-формы

Что делать?

4

Page 6: Сделай дизайнеру приятно: Красивые веб-формы

● Ничего

● Ничего и ругать дизайнеров

● Стилизовать формы

5

Page 7: Сделай дизайнеру приятно: Красивые веб-формы

6

CSS● "Природно" для браузера

● Чистый и семантичный html

● Не требует js

● Стилизируется не все● Не кроссбраузерно

+ -

Page 8: Сделай дизайнеру приятно: Красивые веб-формы

7

JS + CSS● Зоопарк браузеров● Прикладной интерфейс● Широкие возможности

● Много кода

● "Грязный" HTML

● Требуется поддержка js

+ -

Page 9: Сделай дизайнеру приятно: Красивые веб-формы

8

А что с JS?● Vanilla JS

● MooTools

● Prototype

● jQuery...

● jNice

● Nice Forms

● Uniform

● jQuery checkbox

● Select Box Factory

● ikSelect

...

Page 10: Сделай дизайнеру приятно: Красивые веб-формы

9

Как это работает?● DOM элементы формы - "модель" данных

● Вспомогательный HTML - отображение

● Пользователь взаимодействует с

вспомогательными HTML элементами

● JS связующее звено

Page 11: Сделай дизайнеру приятно: Красивые веб-формы

Требования● Естественное поведение

● Максимальное покрытие зоопарка браузеров

● Гибкая настройка внешнего вида

● Стилизация мелочей

● Документация

● Единый инструмент (все в одном)

● Плюшки

10

Page 12: Сделай дизайнеру приятно: Красивые веб-формы

11

И?

Page 13: Сделай дизайнеру приятно: Красивые веб-формы

12

И...● Расчитаны лишь на современные браузеры

● Стилизируют только определенные элементы

● Нет стилизации скрола для select

● При динамическом обновлении контента

"падают"

● Заброшены

● И вообще...

Page 14: Сделай дизайнеру приятно: Красивые веб-формы

13

Page 15: Сделай дизайнеру приятно: Красивые веб-формы

14

jClever умеет● input[type=text]

● input[type=checkbox]

● select

● multyselect

● input[type=button]

● input[type=radio]

● input[type=file]

● texterea

● валидация форм

● темы оформления

● слежение за DOM

● API

Page 16: Сделай дизайнеру приятно: Красивые веб-формы

15

Темы оформленияCSS темы в отдельных директориях

<link rel="stylesheet" type="text/css" href="jCleverTemplate/alice/css/jClever.css" />

jCleverTemplatealice

template 1

template ...

template n

imagescss

Page 17: Сделай дизайнеру приятно: Красивые веб-формы

16

Валидация и placeholderПредустановленные типы валидации:

● isNumeric

● isString

● isAnyText

● isEmail

● isSiteURL

+ регулярные выражения

Пользовательские html шаблоны ошибок

Page 18: Сделай дизайнеру приятно: Красивые веб-формы

17

Слежение за DOM● Поддержка AJAX и обновления страницы

● Собственное событие обновления DOM

onDomChange

● Использование событий: DOMContentLoaded и др.

● Кроссбраузерная реализация

● Оптимизация скорости работы

Page 19: Сделай дизайнеру приятно: Красивые веб-формы

18

Простая иницализацияjQuery(_form-selector_).jClever({

autoTracking: true,

autoInit: true

});

Возможность использования в одностраничных

приложениях и сайтах с изменением контента без

перезагрузки страницы

Page 20: Сделай дизайнеру приятно: Красивые веб-формы

19

API● Обновление формы (refresh)

● Включение/отключение элементов форм

● Управление select (раскрытие, выбор активного и т.д.)

● Изменение select (option)

● Управление checkbox и radio

● Добавление новых элементов к форме

● Метод destroy...

Page 21: Сделай дизайнеру приятно: Красивые веб-формы

20

А чем лучше?● Свое, родное

● Поддержка AJAX и обновления DOM

● Стилизация раскрытого select

● Возможность стилизации scroll, отказ от системного

● Работает во всех поддерживаемых нами браузерах

● Единый инструмент с поддержкой и развитием

Page 22: Сделай дизайнеру приятно: Красивые веб-формы

21

Page 23: Сделай дизайнеру приятно: Красивые веб-формы

22

https://github.com/denis-zavgorodny/jClever

Спасибо :)Денис Завгородний, AlterEGO

https://twitter.com/DenisZavgorodny