Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фильтры и Эффекты перехода 
:(
    Опции темы
Aliance
  Дата 29.3.2005, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Фильтры. Введение.


Я бы разделил фильтры на 3 группы:

- Обычные IE фильтры, думаю с ними многие знакомы.
Пример:
Код

#prozra4nii {
    FILTER: alpha(opacity=25)
}
/* Элемент с ID="prozra4nii" станет прозрачным на 75% */

- Более новые и сложные ActiveX. Их плюсом можно считать их разнообразие. Но они работают только в IE5.5+
Пример:
Код

#prozra4nii {
    FILTER: progid:DXImageTranform.Microsoft.Alpha(opacity=25)
}
/* Элемент с ID="prozra4nii" станет прозрачным на 75% */

- NN6+ & Mozilla
Пример:
Код

#prozra4nii {
    -moz-opacity:25%)
}
/* Элемент с ID="prozra4nii" станет прозрачным на 75% */


Заметка: прозрачность можно задавать не только на прямую, указав ее уровень (0-100, где 100 - полная прозрачность).
Существуют доп. стили прозрачности, такие как градиентная прозрачность. Настройки градиента:
- 0 однородный (по умолчанию)
- 1 линейный
- 2 круговой
- 3 прямоугольный
Прозрачность в конце градиента устанавливается с помощью св-ва finishopacity:
Код

#prozra4nii {
    FILTER: alpha(opacity=25, finishopacity=75, style=1)
}

Так же есть другие доп. параметры (такие как start[X|Y], finish[X|Y]), задающие координаты начала и конца градиента...

JavaScript и Filters.


Если нужно назначать фильтры при помощь JS - один из многих путей для этого следующий:
Код

document.getElementById("text").style.filter = "alpha(opacity=69)";
// или так:
document.getElementById("text").filters["DXImageTransform.Microsoft.Alpha"].Opacity=69;


Замечание: для изменения/назвачения фильтров таким способом обязательно в аттрибуте style элемента должен быть объявлен данный фильтр!

В Mozilla JS управление прозрачностью осуществляется через св-во style.MozOpacityMozilla нет поддержки градиента)

Управление различными св-вами фильтров происходит так:
Код

document.getElementById("text").filters["Alpha"].opacity = 50;


Практическое применение.


Rollover смена картинок с предварительной загрузкой и эффектом перехода (2 варианта: IE и ActiveX)
1) Internet Explorer version

2) ActiveX version

В кодах сценариев уже есть комментарии, немного расскажу алгоритм их работы:
Используемые там метода play() и apply() - методы для работы с фильтрами. Они действуют в пределах одной странице, поэтому их применяют для создания эффектов перехода изображений. Если же Вам необходимо сделать тоже самое между страницами - фильтры помещаются в meta теги:
Код

<META http-equiv="Page-Enter" content="progid:DXImageTranform.Microsoft.Fade(duration=4.5)">
<META http-equiv="Page-Exit" content="progid:DXImageTranform.Microsoft.Fade(duration=4.5)">

Вернемся к методам play() и apply(). Второй фиксирует вид елемента, к фильтру которого обращается сценарий. Это дает возможность изменить настройки пока элемент вне поле зрения. После этого первый метод осуществляет переход между старым (заторможенным) состояние и только что сгенерированным.

Замечание: Использовались аватары Sardar и Elfet © smile

Данный эффект сделан с помощью фильтра Fade. О типах фильтров я расскажу чуть позже :-)

Это сообщение отредактировал(а) Aliance - 29.3.2005, 22:55
PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 6.4.2005, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Вот тут очень хороший справочник по фильтрам:
Читать

А тут отличный тренажер, с которым Вы сможите увидеть, как работать с фильтрами:
Смотреть
PM MAIL WWW ICQ Skype   Вверх
elennaro
Дата 29.4.2005, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.4.2005

Репутация: нет
Всего: нет



Это все классно!
А что есть еще для Mozilla JS?
Какие там еще есть фильтры - и есть ли где нить дока с их описанием?
PM MAIL WWW   Вверх
Aliance
Дата 29.4.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(elennaro @ 29.4.2005, 15:34)
А что есть еще для Mozilla JS?

smile

Цитата(elennaro @ 29.4.2005, 15:34)
Какие там еще есть фильтры - и есть ли где нить дока с их описанием?

Они совпадают с ИЕвскими. Напишу как будет время...
Кстати недавно на quirksmode по-моему читал, что новая мозилла для удобства убрала "свои" фильтры и теперь поддерживает их как и ИЕ...

М
 

Прощу меня велекодушно простить, времени совсем нет чтобы добить статью :( Как только - так сразу...

PM MAIL WWW ICQ Skype   Вверх
elennaro
Дата 30.4.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 29.4.2005

Репутация: нет
Всего: нет



Спасибо! Буду эксперементировать...
С детства старался писать скрипты под все более менее известные броузеры начиная с IE4-NN4, но с фильтрами не получается. Щаз забью и буду писать под IE (Интересно, это этично...). А в принципе надо ориентироваться на людей у которых старые броузеры, или это их проблемы (типа могут обновить свой броузер =)?

Это сообщение отредактировал(а) elennaro - 30.4.2005, 09:13
PM MAIL WWW   Вверх
Aliance
Дата 30.4.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(elennaro @ 30.4.2005, 09:37)
А в принципе надо ориентироваться на людей у которых старые броузеры, или это их проблемы (типа могут обновить свой броузер =)?

http://forum.vingrad.ru/index.php?showtopic=45669

М
 
не стоит разводить флуд тут! Пуская до конца дня повисит посты - потом перенесу...

PM MAIL WWW ICQ Skype   Вверх
butionok
Дата 24.9.2005, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 19.1.2005

Репутация: нет
Всего: 3



Код

#prozra4nii {
    -moz-opacity:25%)
}
/* Элемент с ID="prozra4nii" станет прозрачным на 75% */



Как изменить прозрачность такого фильтра через JS?

Код

document.getElementById("text").filters["-moz-opacity"].Opacity=69;


не работает. И вообще, такое возможно в ФФ и НН?
--------------------
Ненавижу убогую Оперу.
PM MAIL ICQ   Вверх
Sardar
Дата 24.9.2005, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Нет, в лисе и других "фильтры" это CSS стили, следовательно меняем через style.
Полезно почитать: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=486582


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
SelenIT
Дата 15.11.2006, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Aliance, спасибо за ссылки и примеры, но хочется уточнить: верно ли я понимаю, что здесь слово "фильтры" трактуется в широком смысле, примерно как "визуальные спецэффекты"?

Мне кажется, что называть проприетарные CSS-свойства типа "-moz-opacity" и "-moz-border-radius" фильтрами не совсем верно. Все-таки как таковой filter (равно как expression и behavior) - это сугубо Microsoft-овские надстройки над CSS, для работы с ними предусмотрены специальные методы (разумеется, IE-only), а единственный стандарт для них - MSDN.

Мозилловские же расширения в большинстве своем являются "обкаткой" обычных CSS-свойств, которые затем (когда эксперты W3C приходят к единому взгляду на них) входят в стандарт CSS следующего поколения (на сегодняшний день это CSS3).

Если же валить их в одну кучу, может быть путаница (или она уже началась?). Тем более, что иногда "CSS-фильтрами" и вовсе называют CSS-хаки, с помощью которых разделяют стили для разных браузеров...

Если я заблуждаюсь - пожалуйста, поправьте меня и удалите этот пост. И прошу извинить меня за невиданную наглость - поправлять модератора в прикрепленном топике...

Это сообщение отредактировал(а) SelenIT - 15.11.2006, 03:06


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Aliance
Дата 16.11.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Ты прав, но т.к. данный топик существует в разедле для новичков, то конечной целью являеться получение результата в большей степени, чем терминологии (хотя это по сути не совсем верно). Скажем так: стили это нечто общее, а CSS-свойства типа "-moz-opacity" и "-moz-border-radius" - это альтернатива некоторых фильтров IE для Mozilla. Так, наверное, будет более точно.
PM MAIL WWW ICQ Skype   Вверх
lasalexx
Дата 23.12.2006, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: нет
Всего: 1



Код

<img id="p1" src="sur/1.jpg" style="-moz-opacity:30%">


но в firefox картинка всё равно не прозрачная
PM MAIL WWW ICQ MSN   Вверх
Sardar
Дата 23.12.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



lasalexx, только ИЕ работает с процентами, весь остальной мир (включая стандартный opacity) с числами от 0-1.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
lasalexx
Дата 23.12.2006, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 19.7.2004
Где: Tbilisi

Репутация: нет
Всего: 1



Цитата

только ИЕ работает с процентами, весь остальной мир (включая стандартный opacity) с числами от 0-1.


большое спасибо. в официальной документации на счет фильтров в мозиле ничего нет. есть ли у мозилы ещё какие нибудь фильтры. может напишите все, или кините ссылку
PM MAIL WWW ICQ MSN   Вверх
Sardar
Дата 24.12.2006, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Цитата(lasalexx @  23.12.2006,  22:31 Найти цитируемый пост)
в официальной документации на счет фильтров в мозиле ничего нет

Потому что мозилла не поддерживает фильтры вообще. Не прозрачность (opacity) это CSS3 стиль по моему, яркий пример того, как стандарт приходит когда уже все его тем или иным путём реализовали smile

Список всех расширений CSS для лисы можно найти здесь.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Loengreen
Дата 21.7.2007, 03:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 13.7.2007

Репутация: нет
Всего: нет



Пытаюсь сделать тень для окошка (только для IE).
попробовал воспользоваться следующим фильтром. 
Код

#prozra4nii {
    FILTER: alpha(opacity=25, finishopacity=75, style=1)
}

Хотел сделать 2 прямоугольника: первый - тень снизу, второй - справа, и 3 квадрата - закругления.
Используя этот фильтр получилось сделать полупрозрачный градиент слева направо и наоборот.
Сделать градиент сверху вниз не получается. :(
Так же не получилось сделать круговой градиент с центром на одном из углов квадрата.   

Возможно ли вообще сделать то что я хочу с помощью этого фильтра?

Приведите пожалуйста пример создания градиента с изменением цвета сверху вниз и пример с использованием координат для задания начальной и конечно точки градиента.

Код

.shadowRightT    { position: absolute; top: 8px; left: 345px; width: 8px; height: 8px; background-color: #000; 
filter: alpha(opacity=60, finishopacity=0, style=2, start[0|0], finish[0|8]) }

Приведенный выше код никакого результата не дает. Пробовал писать координаты через "," и указывать их в пикселях... ничего. (start[345px, 8px], finish[345px, 16px]) - такая запись координат тоже ничего не дала) :(

Это сообщение отредактировал(а) Loengreen - 21.7.2007, 03:12
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.