• Страница 1 из 1
  • 1
Градиенты на CSS
Olegan Дата: Среда, 11.04.2012, 23:49 | Сообщение # 1
  • Проверенный
  • Сообщений: 680
  • Репутация:
    19
  • Статус: Offline
Приветствую!
Часто возникает необходимость сделать у какого-либо блока на сайте фон - градиентом. Конечно можно просто пустить фоном картинку с этим самым градиентом, но зачем, если большинство нормальных браузеров поддерживает CSS3, да и к тому же тем, которые его по каким то причинам не поддерживают можно на всякий случай всё таки "скормить" картинку с градиентом.. (кстати в случаи если браузер поддерживает градиенты, то загружать картинку он не будет, так что ничего не теряем wink )
К сути
1. linear-gradient
нам надо сделать вот такую шляпу:

а сделаем собственно, вот так:
css

.gradient_css3 {
/* зальём этим цветом (#FF6600) если браузер не держит градиент */
background-color: #FF6600;
/* ... или этим заранье приготовленным изображением */
background-image: url(gradient.png);
/* ну а если всё хорошо, то погнали: */
/* Firefox 3.6+ */
background-image: -moz-linear-gradient(#FF9900, #FF6600);
/* Safari 4+ / Chrome 1+ */
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FF6600), to(#FF9900));
/* Safari 5.1+ / Chrome 10+ */
background-image: -webkit-linear-gradient(#FF9900, #FF6600);
/* Opera 11.10+ */
background-image: -o-linear-gradient(#FF9900, #FF6600);
/* это так, бонус smile */
width:300px; height:200px;
}

html:





Собственно вот и всё, дальше уже дело вкуса.

Плюсы такого способа

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

Из минусов, разве что только всё таже не поддержка некоторыми браузерами, ну и величина кода..

в примере выше описан linear-gradient - тоесть линейный градиент. Есть также ещё и radial-gradient, что как не трудно догадаться - радиальный.
2. radial-gradient
Линейный готов, теперь про радиальный.

Получаем это: (с теми же цветами..)

(квадратик белый случайно попал)

вот так:
css

.radaial {
/* Firefox 3.6+ */
background-image: -moz-radial-gradient(#FF9900, #FF6600);
/* Webkit - ы */
background-image: -webkit-gradient(radial, center center, 0, center center, 220, from(#FF9900), to(#FF6600));
background-image: -webkit-radial-gradient(#FF9900, #FF6600);
background-image: radial-gradient(#FF9900, #FF6600);
/* и это */
width:200px; height:200px;
}

кстати надо не забыть ещё добавить заливку, в случи чего.. опять же для тех браузеров, которые пока не алё с css3..
также можно добиться градиента от скажем одного цвета к прозрачному.. в этом поможет RGBa модель цвета.

пока всё...
 
  • Страница 1 из 1
  • 1
Поиск: