Подтвердить что ты не робот

Как создать новую теневую тень с помощью CSS?

Появилась новая тенденция, а Плоский пользовательский интерфейс называется "длинная тень".
Это пример изображения:

by Luky VjКредит

Мне это очень нравится, и теперь я хочу, чтобы на моем сайте был такой эффект. Но я не буду делать снимок, я хочу сделать это в CSS! (Или HTML5, jQuery и т.д.).

Я уже нашел генератор для этого (Long Shadow Generator от Juani Ruiz Echazú), но сгенерированный CSS выглядит действительно неудобно.

Пример:

.shape {
    text-shadow: rgb(20, 144, 120) 1px 1px,
    rgb(20, 144, 120) 2px 2px,
    rgb(20, 144, 120) 3px 3px,
    rgb(20, 144, 120) 4px 4px,
    rgb(20, 144, 120) 5px 5px,
    rgb(20, 144, 120) 6px 6px,
    rgb(20, 144, 120) 7px 7px,
    rgb(20, 144, 120) 8px 8px,
    rgb(20, 144, 120) 9px 9px,
    rgb(20, 144, 120) 10px 10px,
    rgb(20, 144, 120) 11px 11px,
    rgb(20, 144, 120) 12px 12px,
    rgb(20, 145, 121) 13px 13px,
    rgb(20, 146, 122) 14px 14px,
    rgb(20, 147, 123) 15px 15px,
    rgb(20, 148, 123) 16px 16px,
    rgb(20, 149, 124) 17px 17px,
    rgb(20, 150, 125) 18px 18px,
    rgb(20, 151, 126) 19px 19px,
    rgb(21, 152, 126) 20px 20px,
    rgb(21, 153, 127) 21px 21px,
    rgb(21, 154, 128) 22px 22px,
    rgb(21, 155, 129) 23px 23px,
    rgb(21, 156, 129) 24px 24px,
    rgb(21, 157, 130) 25px 25px,
    rgb(21, 158, 131) 26px 26px,
    rgb(21, 159, 132) 27px 27px,
    rgb(22, 160, 133) 28px 28px;
    box-shadow: rgb(28, 37, 48) 1px 1px,
    rgb(28, 37, 48) 2px 2px,
    rgb(28, 37, 48) 3px 3px,
    rgb(28, 37, 48) 4px 4px,
    rgb(28, 37, 48) 5px 5px,
    rgb(28, 37, 49) 6px 6px,
    rgb(28, 37, 49) 7px 7px,
    rgb(28, 38, 49) 8px 8px,
    rgb(28, 38, 49) 9px 9px,
    rgb(29, 38, 49) 10px 10px,
    rgb(29, 38, 49) 11px 11px,
    rgb(29, 38, 50) 12px 12px,
    rgb(29, 38, 50) 13px 13px,
    rgb(29, 38, 50) 14px 14px,
    rgb(29, 39, 50) 15px 15px,
    rgb(29, 39, 50) 16px 16px,
    rgb(29, 39, 50) 17px 17px,
    rgb(29, 39, 51) 18px 18px,
    rgb(29, 39, 51) 19px 19px,
    rgb(30, 39, 51) 20px 20px,
    rgb(30, 39, 51) 21px 21px,
    rgb(30, 39, 51) 22px 22px,
    rgb(30, 40, 51) 23px 23px,
    rgb(30, 40, 52) 24px 24px,
    rgb(30, 40, 52) 25px 25px,
    rgb(30, 40, 52) 26px 26px,
    rgb(30, 40, 52) 27px 27px,
    rgb(30, 40, 52) 28px 28px,
    rgb(30, 40, 52) 29px 29px,
    rgb(31, 41, 53) 30px 30px,
    rgb(31, 41, 53) 31px 31px,
    rgb(31, 41, 53) 32px 32px,
    rgb(31, 41, 53) 33px 33px,
    rgb(31, 41, 53) 34px 34px,
    rgb(31, 41, 53) 35px 35px,
    rgb(31, 41, 54) 36px 36px,
    rgb(31, 41, 54) 37px 37px,
    rgb(31, 42, 54) 38px 38px,
    rgb(31, 42, 54) 39px 39px,
    rgb(32, 42, 54) 40px 40px,
    rgb(32, 42, 54) 41px 41px,
    rgb(32, 42, 55) 42px 42px,
    rgb(32, 42, 55) 43px 43px,
    rgb(32, 42, 55) 44px 44px,
    rgb(32, 43, 55) 45px 45px,
    rgb(32, 43, 55) 46px 46px,
    rgb(32, 43, 55) 47px 47px,
    rgb(32, 43, 56) 48px 48px,
    rgb(32, 43, 56) 49px 49px,
    rgb(33, 43, 56) 50px 50px,
    rgb(33, 43, 56) 51px 51px,
    rgb(33, 43, 56) 52px 52px,
    rgb(33, 44, 56) 53px 53px,
    rgb(33, 44, 57) 54px 54px,
    rgb(33, 44, 57) 55px 55px,
    rgb(33, 44, 57) 56px 56px,
    rgb(33, 44, 57) 57px 57px,
    rgb(33, 44, 57) 58px 58px,
    rgb(33, 44, 57) 59px 59px,
    rgb(34, 45, 58) 60px 60px;
    background-color: rgb(22, 160, 133);
    height: 150px;
    width: 150px;
    font-size: 75px;
    line-height: 150px;
    text-align: center;
}

Итак, есть ли более простой, чистый и лучший способ сделать это без какой-либо графики?


Объяснение, почему я не буду использовать графику

Мне нравятся творческие, необычные и выдающиеся анимации. Поэтому я думаю, что с этими длинными тенями действительно прекрасные вещи возможны.

У меня есть анимация, о которой я действительно хочу понять:
У меня есть текст типа "Stackoverflow". Я добавляю этот текст CSS- transition. Когда я нахожу этот текст, он должен отображать гладкий text-shadow.
Мысль в демонстрации
Легкий. Но как насчет этой длинной тени? Было бы здорово. Но это будет огромный CSS для этой анимации. Необоснованное.

Поэтому я прошу вас, умные главы,. Вы знаете любой простой CSS-Trick, или может быть, способ реализовать это с помощью JavaScript или других библиотек? Тогда я думаю, что возможны более ошеломляющие эффекты, чем моя маленькая мысль...

4b9b3361

Ответ 1

Ознакомьтесь с этим уроком о том, как это сделать с помощью Sass: http://css-tricks.com/metafizzy-effect-with-sass/

и взгляните на этот CodePen с полным результатом: http://codepen.io/hugo/pen/nwivF

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

Ответ 2

Теперь, после ~ 1 недели, я вижу, на данный момент не существует скудного и оживляемого решения.
Но когда я игнорирую свои самые важные требования, есть разные возможности.
Поэтому я хочу создать небольшой обзор всех этих возможностей, которые я нашел.

CSS только

Массивное текстовое решение
Первое решение - это мой пример кода, который я опубликовал. Он очень громоздкий, но результат выглядит очень похоже на образец. Но если я хочу анимировать этот код, например, с transition, это будет чрезвычайно большой CSS-код.
Заключение

+ Very similar to the original effect on pictures
+ An only CSS way
+ Possible to generate CSS only animations
- Generate big bunch of CSS code
- Hard to create animations

Инструменты и примеры
Одним из лучших инструментов для создания единственного метода CSS является Long Shadow Generator от Juani Ruiz Echazú.


Громоздкое решение теневой тени с rgba
В Майкл Мендельсон answer он предлагает использовать rgba, чтобы добавить opacity, чтобы создать красивую фейдер- эффект. Он может получить меньшую кучу CSS, которая, возможно, также будет легче анимировать. Но это не создает такой же эффект, как на графике.
Заключение

+ An only CSS way
+ Possible to generate CSS only animations
+ Could be a slimmer CSS code than without rgba
+ Could be easier to generate animations
- Not similar to the original effect
- For a longer shadow, it will be again a lot of CSS

Инструменты и примеры
Просто прочитайте ответ Майкла Мендельсона. Не нашел никакого примера/инструмента в Интернете и не успел его создать, потому что это не приемлемое решение для моего дела.


Громоздкое решение теневой тени с SCSS
Чтобы уменьшить LoC (линии кода) для первого решения, Front End Guy предлагает использовать SCSS. Код будет более тонким, но выглядит неудобно и сложнее понять. Но и этот более тонкий код есть и останется очень большим. Заключение

+ Very similar to the original effect
+ An only CSS way
+ Possible to generate CSS only animation
+ Slimmer CSS than without SCSS...
- ... but it will be remain a bulky CSS
- Not everybody is familiar with SCSS so the code is going to be incomprehensible
- Hard to create animations

Инструменты и примеры
Существует Пример Codepen, который показывает вам, как создать эффект длинной тени с помощью SCSS на разных объектах (значки, шрифты и т.д.),


JavaScript только

Сгенерировать CSS только с помощью JavaScript
user1724911 answer описывает способ генерации CSS с помощью JavaScript. В фоновом режиме он снова делает этот большой кусок кода, но код JavaScript намного более тонкий, чем "жестко закодированный" CSS. Анимации также возможны одинаково (посмотрите на user1724911 ответ).
Заключение

+ Very similar to the original effect
+ To develop code is a lot slimmer
+ Animations are easy and lean to create
- In the background, there is this big bulky CSS code
- performance

Инструменты и примеры
Посмотрите на ответ user1724911, чтобы увидеть также код для анимации. Я создал небольшой пример. Только с 1 HTML-тегом и маленькими строками JavaScript. Пример Codepen


jQuery Plug-In
Я нашел также небольшой jQuery Plugin для Long-Shadow. Он чрезвычайно прост в использовании, но порождает (на мой взгляд) уродливый теневой эффект.
Заключение

+ Extreme easy-to-use
- Very ugly effect

Инструменты и пример
Я нашел этот плагин здесь.


Графика и JavaScript

Проблема для выродков
Существует сайт, который имеет действительно потрясающий и замечательный эффект Long-Shadow. Сайт называется We Are Impero. Поэтому я спросил команду Impero, как они создают этот замечательный эффект. Если используется библиотека или что-то еще. Это был их ответ:

Его все разработано и построено. Нет рамок для работы, это была очень сложная задача!

Таким образом, он выполнен с использованием графики и JavaScript.
Заключение

+ Most wonderful long-shadow effect i've ever seen
- Self made. And it was a hard work.
- Graphic, CSS & JavaScript are required

Инструменты и примеры
Просто наслаждайтесь Мы являемся сайтом Impero.


Графический только

Работа в Photoshop
Таким образом, существует также способ создания этого эффекта как изображения. Это самый простой способ, и это "оригинал". Но, к сожалению, не анимационный... Или, может быть, когда я нахожу картинку, я создаю gif с анимацией и покажу ее? Не совсем:-)
Заключение

+ The "original" effect
+ most adaptable
- Not animatable

Инструменты и примеры
В Интернете есть примеры примеров Long-Shadow. Просто пойдите в Google. Awwwards сделал замечательную статью о том, как создать этот эффект с длинной тенью в Photoshop.


Итак, спасибо всем за ваши ответы, идеи, вдохновения и аргументы. Я дам им, кого я связал в своем ответе над головой, потому что без вас у меня просто было бы 1 решение.
Возможно, в будущем там будет возможно создать такие вещи проще.

Приветствия dTDesign

Ответ 3

это мой код, я использую его на своих сайтах:

.longShadow{
    color:#fff;
    text-shadow:1px 1px rgba(0,0,0,0.01),
    2px 2px rgba(0,0,0,0.03),
    3px 3px rgba(0,0,0,0.025),
    4px 4px rgba(0,0,0,0.02),
    5px 5px rgba(0,0,0,0.015),
    6px 6px rgba(0,0,0,0.01),
    7px 6px rgba(0,0,0,0.01),
    8px 8px rgba(0,0,0,0.01),
    9px 8px rgba(0,0,0,0.01),
    10px 10px rgba(0,0,0,0.01),
    11px 11px rgba(0,0,0,0.01),
    12px 12px rgba(0,0,0,0.01),
    13px 13px rgba(0,0,0,0.01),
    14px 14px rgba(0,0,0,0.01),
    15px 15px rgba(0,0,0,0.01),
    16px 16px rgba(0,0,0,0.01),
    17px 17px rgba(0,0,0,0.01),
    18px 18px rgba(0,0,0,0.01),
    19px 19px rgba(0,0,0,0.01),
    20px 20px rgba(0,0,0,0.01),
    21px 21px rgba(0,0,0,0.01),
    22px 22px rgba(0,0,0,0.01),
    23px 23px rgba(0,0,0,0.01);
}

Ответ 4

Вы можете создавать теневые плоскости вашего текста с помощью javascript. Просто взгляните на это:

<html>
 <head>
  <style>
   body { // in this example I used 'body' as animated content
    font-weight: bold;
    font-size: 65px;
    color:rgb(155,155,155);
    transition: text-shadow 0.5s linear;
    -moz-transition: text-shadow 0.5s linear;
    -webkit-transition: text-shadow 0.5s linear;
    -o-transition: text-shadow 0.5s linear;
    text-shadow: 1px 1px 0px rgba(0,0,0,1);
   }
  </style>
  <script> // here we can add some styles, generated by js.
   var text_shadow = '';
   for(var p = 0; p < 100; p++)
   {
    text_shadow += (text_shadow? ', ' : '') + 2*p + 'px '+ 2*p +'px 1px rgba(0,0,0,' + 1/(p+1) + ')';
   }
   document.head.innerHTML += "<style> body:hover { text-shadow: " + text_shadow + ";  } </style>";
  </script>
 </head>
 <body>Stackoverflow</body>
</html>

Но код, как этот, трудно использовать для медленных процессоров (100 самолетов для некоторого текста)... Просто держите это в своем уме.

Ответ 5

Я предлагаю другой подход. Вы не собираетесь обходить несколько текстовых теней, но вместо этого попробуйте использовать rgba (0,0,0, val), где val - это число между словами .5 и 0. Тогда вам может не понадобиться так много итераций,

Попробуйте следующее:

text-shadow: 1px 1px 1px rgba(0,0,0,.5),2px 2px 1px rgba(0,0,0,.4),3px 3px 1px rgba(0,0,0,.3),4px 4px 1px rgba(0,0,0,.2),5px 5px 1px rgba(0,0,0,0.1)

Вы можете использовать любые расстояния, которые вы хотите, и тем не менее много итераций. Просто предложение.

Ответ 6

Я даю вам свои попытки, первый из которых использует только CSS, anec другой, используя CSS и пользовательский фоновый PNG-образ.

  • 1. Только CSS (еще не хорошо)

Я попытался использовать: before и: after с прозрачным фоном вместо этого изображения, но пока это еще недостаточно.

Вы можете увидеть для себя здесь, у меня есть небольшая ошибка с правой частью тени

enter image description here

http://codepen.io/gfra/pen/KtoDB

Я все еще работаю над этим, но если у кого-то есть время, вы можете помочь.

  • 2 CSS и PNG Image (хорошо выглядит)

Я знаю, что использование изображения не является наиболее эффективным решением, добавляет ли он один HTTP-запрос на загрузку страницы, но у меня есть CDN для доставки моих изображений, поэтому это не проблема на моем сайте.

Я считаю, что результат далеко не идеальный, но неплохой, если вы заботитесь о производительности. Я использовал этот метод, потому что у меня много длинных теней для добавления на мою страницу, и я не хочу, чтобы jquery слишком сильно работал при загрузке страницы.

Я все еще пытаюсь понять, как сделать его автоматически настраиваемым для содержимого div/a. Пока что некоторые магические числа соответствуют требуемым размерам.

Long shadows with CSS and PNG image

http://codepen.io/gfra/pen/DLzxC

Ответ 7

Если вы используете LESSCSS, этот mixin будет делать плоские длинные тени с помощью mixin.

https://github.com/zensimilia/less-long-shadow

Я использую его на своем сайте, и он отлично работает

Ответ 8

Если вы посмотрите на свой кредитный имидж, это будет много CSS: http://cssdeck.com/labs/google-fonts-css-longshade-icon

/* Google Font flat longshade Icon in pure css
   Create with love by @LukyVj 
   Inspired by so much people an works over the internet.
*/

@import url(http://fonts.googleapis.com/css?family=Marck+Script);
body {
    -webkit-font-smoothing: antialiased;
    background: #333;
    overflow: hidden;
}
.container {
    width: 245px;
    margin: 180px auto;
}
div.icon {
    /*transform*/
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    float: left;
    width: 245px;
    height: 245px;
    margin: 5px;
    display: block;
    background: rgb(150, 150, 150);
    font-family: "Marck Script",  sans-serif;
    text-align:center;
    font-size: 13em;
    font-weight: 500;
    line-height:.75;
    border-radius:15px;
    overflow:hidden;
}

div.icon:after {
    top: 0px;
    color: rgba(255, 255, 255, 0.9);
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    position: relative;
    text-align: center;
    padding-top: 54.05px;
    box-sizing: border-box;
    /*box-shadow*/
    -webkit-box-shadow: 1px 1px 0px #000 ;
    -moz-box-shadow:1px 1px 0px #000 ;
    box-shadow:1px 1px 0px #000 ;
}
/*The shadow of the squares */
.icon:before {
    content: '';
    display: block;
    float: left;
    width: 136%;
    height: 136%;
    position: absolute;
    margin: 29%;
    /*transform*/
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    /*linear-gradient*/
    background: -webkit-gradient(linear,60.06% 107.04%,39.94% -7.04%,from(rgba(0,0,0,.1)),to(rgba(0,0,0,0)));
    background: -webkit-linear-gradient(100deg,rgba(0,0,0,.1),rgba(0,0,0,0));
    background: -moz-linear-gradient(100deg,rgba(0,0,0,.1),rgba(0,0,0,0));
    background: -o-linear-gradient(100deg,rgba(0,0,0,.1),rgba(0,0,0,0));
    background: linear-gradient(100deg,rgba(0,0,0,.1),rgba(0,0,0,0));
}

.gf:after {
   -webkit-font-smoothing: antialiased;
    content: "F";
    background: #dd473d;
    text-shadow: 1px 1px 0 rgba(0,0,0,.15),138px 138px 0px #a83027, 137px 137px 0px #a83027, 136px 136px 0px #a83027,135px 135px 0px #a83027, 134px 134px 0px #a83027, 133px 133px 0px #a83027,132px 132px 0px #a83027, 131px 131px 0px #a83027, 130px 130px 0px #a83027, 129px 129px 0px #a83027, 128px 127px 0px #a83027, 126px 126px 0px #a83027,125px 125px 0px #a83027, 124px 124px 0px #a83027, 123px 123px 0px #a83027,122px 122px 0px #a83027, 121px 121px 0px #a83027, 120px 120px 0px #a83027, 119px 118px 0px #a83027, 117px 116px 0px #a83027, 115px 114px 0px #a83027,113px 113px 0px #a83027, 112px 112px 0px #a83027, 111px 111px 0px #a83027, 110px 110px 0px #a83027, 109px 109px 0px #a83027, 108px 108px 0px #a83027, 107px 107px 0px #a83027, 106px 106px 0px #a83027, 105px 105px 0px #a83027, 104px 104px 0px #a83027, 103px 103px 0px #a83027, 102px 102px 0px #a83027, 101px 101px 0px #a83027, 100px 100px 0px #a83027, 99px 99px 0px #a83027, 98px 98px 0px #a83027, 97px 97px 0px #a83027, 96px 96px 0px #a83027, 95px 95px 0px #a83027, 94px 94px 0px #a83027, 93px 93px 0px #a83027, 92px 92px 0px #a83027, 91px 91px 0px #a83027, 90px 90px 0px #a83027, 80px 80px 0px #a83027, 79px 79px 0px #a83027, 78px 78px 0px #a83027, 77px 77px 0px #a83027, 76px 76px 0px #a83027, 75px 75px 0px #a83027, 74px 74px 0px #a83027, 73px 73px 0px #a83027, 72px 72px 0px #a83027, 71px 71px 0px #a83027, 70px 70px 0px #a83027, 69px 69px 0px #a83027, 68px 68px 0px #a83027, 67px 67px 0px #a83027, 66px 66px 0px #a83027, 65px 65px 0px #a83027,64px 64px 0px #a83027, 63px 63px 0px #a83027, 62px 62px 0px #a83027, 61px 61px 0px #a83027, 60px 60px 0px #a83027, 59px 59px 0px #a83027, 58px 58px 0px #a83027, 57px 57px 0px #a83027, 56px 56px 0px #a83027, 55px 55px 0px #a83027, 54px 54px 0px #a83027, 53px 53px 0px #a83027, 52px 52px 0px #a83027, 51px 51px 0px #a83027, 50px 50px 0px #a83027, 49px 49px 0px #a83027, 48px 48px 0px #a83027, 47px 47px 0px #a83027, 46px 46px 0px #a83027, 45px 45px 0px #a83027, 44px 44px 0px #a83027, 43px 43px 0px #a83027, 42px 42px 0px #a83027, 41px 41px 0px #a83027, 40px 40px 0px #a83027, 39px 39px 0px #a83027, 38px 38px 0px #a83027, 37px 37px 0px #a83027, 36px 36px 0px #a83027, 35px 35px 0px #a83027, 34px 34px 0px #a83027, 33px 33px 0px #a83027,32px 32px 0px #a83027, 31px 31px 0px #a83027, 30px 30px 0px #a83027, 29px 29px 0px #a83027, 28px 28px 0px #a83027, 27px 27px 0px #a83027, 26px 26px 0px #a83027, 25px 25px 0px #a83027, 24px 24px 0px #a83027, 23px 23px 0px #a83027, 22px 22px 0px #a83027, 21px 21px 0px #a83027, 20px 20px 0px #a83027, 19px 19px 0px #a83027, 18px 18px 0px #a83027, 17px 17px 0px #a83027, 16px 16px 0px #a83027, 15px 15px 0px #a83027, 14px 14px 0px #a83027, 13px 13px 0px #a83027, 12px 12px 0px #a83027, 11px 11px 0px #a83027, 10px 10px 0px #a83027, 9px 9px 0px #a83027, 8px 8px 0px #a83027, 7px 7px 0px #a83027, 6px 6px 0px #a83027, 5px 5px 0px #a83027, 4px 4px 0px #a83027, 3px 3px 0px #a83027, 2px 2px 0px #a83027, 1px 1px 0px #a83027, 15px 1px 0px #a83027,16px 2px 0px #a83027,17px 3px 0px #a83027,18px 4px 0px #a83027,19px 5px 0px #a83027,20px 6px 0px #a83027,21px 7px 0px #a83027,22px 8px 0px #a83027,
23px 9px 0px #a83027,
24px 10px 0px #a83027,
25px 11px 0px #a83027,
26px 12px 0px #a83027,
27px 13px 0px #a83027,
28px 14px 0px #a83027,
29px 15px 0px #a83027,
30px 16px 0px #a83027 , 
31px 17px 0px #a83027,
32px 18px 0px #a83027,
33px 19px 0px #a83027,
34px 20px 0px #a83027,
35px 21px 0px #a83027,
36px 22px 0px #a83027,
37px 23px 0px #a83027,
38px 24px 0px #a83027,
39px 25px 0px #a83027,
40px 26px 0px #a83027,
41px 27px 0px #a83027,
42px 28px 0px #a83027,
43px 29px 0px #a83027,
44px 30px 0px #a83027,
45px 31px 0px #a83027,
46px 32px 0px #a83027;
}

Ответ 9

То, что я думаю, - альтернативный способ использования длинной тени - сделать реакцию с цветом (использовать подборщик цветов для теней Google) Затем выровняйте его с изображением. Он должен решить вашу проблему. см. это для алмаза

#diamond {
    width: 0;
    height: 0;
    border: 50px solid transparent;
    border-bottom-color: red;
    position: relative;
    top: -50px;
         }
#diamond:after {
    content: '';
    position: absolute;
    left: -50px;
    top: 50px;
    width: 0;
    height: 0;
    border: 50px solid transparent;
    border-top-color: red;
           }

Ответ 10

Лучший способ - использовать плоскую тень jquery.

https://github.com/peachananr/flat-shadow

Использование

Чтобы использовать это на своем веб-сайте, просто включите последнюю библиотеку jQuery, найденную здесь вместе с jquery.flatshadow.js, в свой документ, следуйте по разметке html и вызову функции следующим образом:

<div class="flat-icon"> FLAT </div>
<div class="flat-icon"> UI </div>

...

$(".flat-icon").flatshadow({
  color: "#2ecc71", // Background color of elements inside. (Color will be random if left unassigned)
  angle: "SE", // Shadows direction. Available options: N, NE, E, SE, S, SW, W and NW. (Angle will be random if left unassigned)
  fade: true, // Gradient shadow effect
  boxShadow: "#d7cfb9" // Color of the Container shadow
});

Дополнительная настройка

С помощью jquery.flatshadow.js вы можете применять каждый отдельный элемент с различным эффектом, просто добавив цвет данных и угол данных к вашему значению следующим образом:

<div data-color="#2ecc71" data-angle="NE" class="flat-icon"> FLAT </div>
<div data-color="#1ABC9C" data-angle="NW" class="flat-icon"> UI </div>

и удалите глобальные параметры цвета и угла, как показано здесь:

$(".flat-icon").flatshadow({
  fade: true,
  boxShadow: "#d7cfb9"
});

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