Градиент фона -90degree для нефиксированной высоты

Статус: Offline
Реєстрація: 11.09.2007
Повідом.: 222
Градиент фона -90degree для нефиксированной высоты

Всем здрасте.
В сети искал не мало. И все же не нашел подходящего решения.

Задача.

Необходимо сделать градиент - 90degree (т.е. сверху вниз).

Условия:

  • длина будет динамически изменяться в зависимости от количества контента;
  • Градиент будет как минимум в двух местах: <body> и некий <outer> в теле, спозиционированный по середине;
  • Необходимо решения для наиболее распостраненных браузеров: (ff,opera,safari,chrome,ie_6++);
  • есть определенные начальный и конечный цвета.

Что удалось найти в сети:

1. градиент при помощи CSS и картинки в 1px - не подходит, т.к. длина не фиксированная;

2. градиент с использованием диклараций стандарта CSS.3 и filter для IE - не подходит - решение не работает в opera,chrome (-webkit-gradient...). filter в IE - работет кривовато;

3. js градиент с пошаговым изменением цвета и созданием большего числа блоков - не подходит, потому как есть условие начального и конечного цветов, а так же код-свалка, с огромным кол-вом дивов не годиться.

4. html + svg разметка так же не подходит, потому как градиет в svg разметке можно наложить на какой либо объект типа круга, многоугольника, прямоугольника или объекта, заданного неким путем - что тем более огарничивает высоту вставляемого при помощи тегов <object></object> объектов (
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
).


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

Заранее СПС.
 
Держи решение:
Тільки зареєстровані користувачі бачать весь контент у цьому розділі


Вообще интересную задачку подкинул, пасиб :)
 
Seregyn, ваще-то нормальные люди упрощают себе жизнь и сосбсно сам градиент делают фиксированной высоты, забивая недостающую часть фоном
 
Seregyn, ваще-то нормальные люди упрощают себе жизнь и сосбсно сам градиент делают фиксированной высоты, забивая недостающую часть фоном

вы читали условия задачи?

1. есть 2 конкретных цвета - одни сверху, другой снизу. между ними, должен быть равномерно распределенный диапазон цветов, которые получаются при использовании градиета.

а вы предлагаете сделать градент фиксированной высоты, остальное забить фоном (одного из цветов как я понимаю) и при этом я получу неравномерный градиент. првалеьно я понял? если нет, то поправьте меня или выложите картинку, как это будет выглядеть.

2. нужен градент для <body> при разных разрешениях экрана. здесь я так понимаю, вы прделожите подгружать картинки разной ширины при помощи js для разных разрешений?
 
Seregyn
мой вариант подошёл?
 
Еще, как вариант, можно имадж на абсолют и height:100%, а для ие6 expression, но ИМХО артефакты будут при сжатии/растягивании имаджа (я не пробовал такое) да и СЕО так себе...
 
Seregyn
мой вариант подошёл?

не совсем. я пробовал двигаться в этом направлении. в частности filter для и работает не совсем адекватно (пробовал применить для готового сайта, блоки в ie начали куда-то съезжать).

сейчас рассматриваю вариант с svg.
 
не совсем. я пробовал двигаться в этом направлении. в частности filter для и работает не совсем адекватно (пробовал применить для готового сайта, блоки в ie начали куда-то съезжать).
покажите вёрстку, может посоветуем что.

сейчас рассматриваю вариант с svg.
в SVG замечены
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
.
 
в SVG замечены
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
.

да, согласен. сам заметил полоски при прорисовке в одной статье. я еще не добрался до конкретного примера, не поковырял достаточно. будем посмотреть...
 
Если кому будет нужно - здесь пример. Использовал svgWeb toolkit для вставки в .html.

Работатет в:
  • ff 3.6.3;
  • opera 10.53 (в 9.20 - не работает, может и в других каких версиях тоже, не проверял);
  • chrome 4.1;
  • safari 4.0.5;
В общем в последних версиях обозревателей градиент на svg отображается вроде гуд, хотя я не так уж много вариантов цветов пробовал.
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
, о том, что замечены проблемы с прорисовкой.

А в IE - не работает. Здесь пришлось использовать filter:... И IE цвета по другому отбражает.

В итоге, не совсем удобный вариант, но ничего другого для себя не смог найти.
 
ищи на хабре по запросу "Кроссбраузерный CSS3 градиент"
 
Назад
Зверху Знизу