Модераторы: 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   Вверх
NNaarreekk
Дата 28.7.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хорошие примеры есть Здесь!

мне очень помогли!
PM MAIL WWW   Вверх
almostlost
Дата 29.12.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



alpha
Фильтр Alpha устанавливает степень прозрачности объекта. Прозрачность может быть установлена, как равномерная для всего объекта, так и в виде градиента 

Синтаксис:
Код

STYLE="filter:alpha(Opacity, FinishOpacity, Style, StartX, StartY, FinishX, FinishY)"


Параметры 

Opacity
Значение прозрачности от 0 до 100. 0 - абсолютно прозрачно, 100 - абсолютно непрозрачно 
FinishOpacity
Необязательный параметр, который определяет конечное значение прозрачности, если фильтр применяется как градиентный см. Style. От 0 до 100. 0 - абсолютно прозрачно, 100 - абсолютно непрозрачно 
Style
0 - равномерная прозрачность, 1 - линейный градиент, 2 - круговой градиент, 3 - прямоугольный градиент 
StartX
Начальные координаты градиента по горизонтали 
StartY
Начальные координаты градиента по вертикали 
FinishX
Конечные координаты градиента по горизонтали 
FinishY
Конечные координаты градиента по вертикали 
------------------------------------------------------------------------------------------------------------
blur
Фильтр Blur размывает изображение в направлении Direction, заданном в градусах. Если указано Add=1, то фильтр будет наложен на исходный образец, иначе будет отображен только результат работы фильтра 

Синтаксис:
Код

STYLE="filter:blur(Add, Direction, Strength)"


Параметры 

Add
Объект. 0 - результат работы фильтра, 1 - фильтр будет наложен на исходный образец 
Direction
Направление размытия объекта в градусах (0 - вверх и далее по часовой стрелке c шагом 45 градусов) 
Strength
Степень размытия 
-----------------------------------------------------------------------------------------------------------
chroma
Фильтр Chroma делает цвет, заданный в форме #RRGGBB прозрачным. Фильтр хорошо применять к изображениям, созданным в формате gif либо png. Для jpeg он обычно не дает хороших результатов, так как для данного формата трудно определить границы заливки отдельных цветов 

Синтаксис:
Код

STYLE="filter:chroma(Color)"

-----------------------------------------------------------------------------------------------------------
DropShadow
Фильтр DropShadow рисует сплошной силует объекта, смещённый в заданном направлении, создавая тем самым эффект объекта, расположенного над страницей и отбрасывающего на неё тень 

Синтаксис:
Код

STYLE="filter:dropshadow(Color=значение, OffX=значение,OffY=значение,positive=эначение)"

-----------------------------------------------------------------------------------------------------------
flipH
Фильтр FlipH переворачивает объект горизонтально 

Синтаксис:
Код

STYLE="filter:FlipH" 

-----------------------------------------------------------------------------------------------------------
flipV
Фильтр FlipV переворачивает объект вертикально 

Синтаксис:
Код

STYLE="filter:FlipV"
 
-----------------------------------------------------------------------------------------------------------
glow
Фильтр GLOW добавляет свечение вдоль внешних границ объекта, создавая эффект "возгорания" границ объекта 

Синтаксис:
Код

STYLE="filter:Glow(Strength=значение,Color=значение)" 

Параметры


Stregth
Сила свечения в диапазоне 0-100 
Color
Цвет свечения 
-----------------------------------------------------------------------------------------------------------
Gray
Фильтр Gray удаляет цветовую гамму объекта и отображает его в серых тонах 

Синтаксис:
Код

STYLE="filter:gray" 


-----------------------------------------------------------------------------------------------------------
Invert
Фильтр Invert меняет оттенок, насыщение и яркость объекта на противоположные 

Синтаксис:
Код

STYLE="filter:invert" 


-----------------------------------------------------------------------------------------------------------
Mask
Фильтр Mask отображает текст так, как будто он выделен мышью 

Синтаксис:
Код

STYLE="filter:mask(Color=значение)"


Параметры 

Color
Цвет, окружающий текст 
-----------------------------------------------------------------------------------------------------------
DropShadow
Фильтр DropShadow рисует сплошной силует объекта, смещённый в заданном направлении, создавая тем самым эффект объекта, расположенного над страницей и отбрасывающего на неё тень 

Синтаксис:
Код

STYLE="filter:dropshadow(Color=значение, OffX=значение,OffY=значение,positive=эначение)"


Параметры 

Color
Цвет тени 
OffX
Смещеение тени относительно текста по оси X 
OffY
Смещеение тени относительно текста по оси Y 
positive
Характер освещения (0 или 1) 
-----------------------------------------------------------------------------------------------------------
Wave
Фильтр Wave производит "синусоидальное" искажение объекта вдоль вертикальной оси 

Синтаксис:
Код

STYLE="filter:Wave(add=оригинал, freq=частота, lightStrength=величина, phase=начальная фаза, strength=величина)"


Параметры 

add
Булево значение, определяющее использование оригинала (0 или 1). По умолчанию 0 
freq
Количество волн 
lightStrength
величина подсветки 
phase
начальная фаза. По умолчанию - 0, изменяется от 0 до 100 
strength
величина смещения 
-----------------------------------------------------------------------------------------------------------
xray
Фильтр XRay отображает объект в черно-белом варианте, как на рентгеновском снимке 

Синтаксис:
Код

STYLE="filter:xray()"




Это сообщение отредактировал(а) almostlost - 29.12.2007, 11:42
PM MAIL   Вверх
AKS
Дата 30.12.2007, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


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

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



almostlost, откуда такие "древние" и неточные данные?
На смену названиям фильтров, реализованным в IE 4, уже давным-давно пришли те, что были реализованы в IE 5.5 (2000 год!). А об этом - ни слова. Более того, за отличием в синтаксисе кроются еще и отличия в реализации визуального представления (все подробности есть на сайте разработчиков).
Насчет неточностей. Первое, что бросилось в глаза - это описание фильтра mask (теперь это название записывается так: "progid:DXImageTransform.Microsoft.MaskFilter"). Точное описание будет звучать примерно следующим образом: "Отображает прозрачный цвет объекта цветом, указанным в первом параметре, а непрозрачный цвет делает прозрачным".

PM MAIL   Вверх
pwsem
  Дата 19.4.2012, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо!) долго искал)
PM MAIL WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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