jQuery.reflect — эффект отражения для текста и изображений
Дата публикации: 01.06.2011
Задача
Получить гибкий инструмент для добавления эффекта отражения.
Требования
- гибкость: отражение должно добавляться автоматически к любым изображениям и элементам содержащим текст, не требуя от администратора ресурса производить предподготовку изображений и/или правок CSS;
- независимость от фона;
- простота использования;
- возможность настройки отражения: удаленность от оригинала, скорость затухания и тому подобное.
Решение
Демо пример использования jquery.reflect на однородном фоне и на неоднородном. Или забрать архивом. Проверено в:
- IE 6-9
- Firefox 4
- Opera 11
- Safari 5
- Chrome
Что качать
Быстрый старт
Подключаем необходимые скрипты и инициализируем плагин:
<script src="path-to/jquery-min.js"></script> <script src="path-to/jquery.reflect-0.1.min.js"></script> <script> window.onload = function() { var reflectOptions = { el: ".reflect", height: 0.7, opacity: 0.5, distanceV: 3, addHeight: true, IEbackground: "white" } reflection(reflectOptions); }; </script>
Элементу, к которому будет применен эффект отражения добавляем одно обязательное правило:
.reflect { position: relative; }
Параметры
el | элемент, к которому будет применен эффект. Доступны селекторы jQuery (например, #id-name, .class-name any-element) |
---|---|
height | высота отражения. Значение в диапазоне от 0 до 1. При значении меньше 1 отражение не искажается, а обрезается |
opacity | начальная прозрачность отражения. Конечное значение всегда 0 (эффект растворения) |
distanceV | отступ по вертикали отражения от оригинала. Положительные значения удаляют отражение, отрицательные приближают. |
addHeight | может принимать два значения: true (увеличить высоту элемента на высоту отражения), false (не увеличивать). изменение размеров элемента иногда полезно, когда есть желание чтобы другие элементы (в нормальном потоке) не закрыли отражение. |
IEbackground | нужно для фикса бага в IE с применением фильтра |
В текущей версии при инициализации обязательно нужно задавать все параметры (при апдейте устраню).
Некоторые тонкости
- При применении эффекта к изображению, изображение оборачивается контейнером, которому передаются стили позиционирования изображения (position, float, margin) переносится class. Делается для того, чтобы после применения эффекта картинка осталась на том же месте.
- Если применяется эффект к изображению, которое обрамлено ссылкой, то отражение ссылкой не будет (сделано специально).
- Если нужно применить эффект для текстовой ссылки и при этом не хочется чтобы отражение было ссылкой, тогда эффект нужно применять к обертке для ссылки (смотри меню на демо примере).
- Некоторые техники подсмотрены в reflection.js
По теме
Показать комментарии