Креативные стили вэб-типографии Часть2

Пример 5



Пятый пример будет иметь эффект 3D, который придаст некую глубинку тексту.

Код
<h2 class="cs-text" id="cs-text">Disarmer</h2>


Поскольку, мы хотим , чтобы каждая буква была в некоей рамке, сначала применим lettering.js, а затем заменим созданную групп на другую:

Код
$("#cs-text").lettering().children('span').wrap('<span>');
</span>


Давайте определим ширину/высоту и отступы от основной оболочки:

Код
.cs-text {  
  position: relative;  
  width: 960px;  
  height: 100px;  
  margin: 100px auto;  
  cursor: default;  
}


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

Код
.cs-text > span {  
  perspective: 200px;  
  float: left;  
  position: relative;  
}


Так как мы будем вращать и переводить внутренние пролеты, мы нуждаемся в определенном порядке наложения на перспективу контейнеров (от центра к краям):

Код
.cs-text > span:first-child,  
.cs-text > span:last-child {  
  z-index: 1;  
}  
   
.cs-text > span:nth-child(2),  
.cs-text > span:nth-child(7){  
  z-index: 2;  
}  
   
.cs-text > span:nth-child(3),  
.cs-text > span:nth-child(6){  
  z-index: 3;  
}  
   
.cs-text > span:nth-child(4) {  
  z-index: 5;  
}  
   
.cs-text > span:nth-child(5){  
  z-index: 4;  
}


Внутренние пролеты будут иметь несколько фонов: градиент и полупрозрачные текстуры. Мы также будем применять тени, что даст некоторую глубину к элементам:

Код
.cs-text span span {  
  display: block;  
  background: url(../images/scratch-texture.png), linear-gradient(to right, #00b7ea 0%,#009ec3 100%);  
  box-shadow:  
  -1px 0 2px rgba(255,255,255,0.4),  
  -2px 0 0 #00adda,  
  -2px 7px 9px rgba(0, 0, 0, 0.5);  
  color: #fff;  
  text-shadow: -1px -1px 2px rgba(0,0,0,0.6);  
  width: 120px;  
  height: 150px;  
  font-weight: 700;  
  line-height: 150px;  
  font-size: 140px;  
  text-align: center;  
  text-transform: uppercase;  
}


Последние четыре буквы будут иметь обратный градиент, тень обертки и тень текста:

Код
.cs-text > span:nth-child(n+5) span {  
  background: url(../images/scratch-texture.png), linear-gradient(to right, #009ec3 0%,#00b7ea 100%);  
  box-shadow:  
  1px 0 2px rgba(255,255,255,0.4),  
  2px 0 0 #00adda,  
  -2px 7px 9px rgba(0, 0, 0, 0.5);  
  text-shadow: 1px 1px 2px rgba(0,0,0,0.6);  
}


Теперь мы будем переводить внутренние пролеты на Z-index и вращать их, чтобы создать эффектеность. Каждый из них будет иметь различные значения, поэтому мы будем ориентироваться на них с соответствующим :nth-child селектора:

Код
.cs-text > span:nth-child(4) span{  
  transform: translateZ(40px) rotateY(40deg);  
}  
   
.cs-text > span:nth-child(5) span{  
  transform: translateZ(40px) rotateY(-40deg);  
}  
   
.cs-text > span:nth-child(3) span{  
  transform: translateZ(30px) rotateY(30deg);  
}
   
.cs-text > span:nth-child(6) span{  
  transform: translateZ(30px) rotateY(-30deg);  
}  
   
.cs-text > span:nth-child(2) span{  
  transform: translateZ(20px) rotateY(20deg);  
}  
   
.cs-text > span:nth-child(7) span{  
  transform: translateZ(20px) rotateY(-20deg);  
}  
   
.cs-text > span:first-child span{  
  transform: translateZ(10px) rotateY(10deg);  
}  
   
.cs-text > span:last-child span{  
  transform: translateZ(10px) rotateY(-10deg);  
}


Давайте перейдем к span'ам и переведем их на x-axis:

Код
.cs-text > span:nth-child(-n+4) {  
  transform: translateX(14px);  
}  
   
.cs-text > span:nth-child(n+5) {  
  transform: translateX(-14px);  
}


И это все, у нас есть аккуратный эффект 3D текста!

Пример 6



Этот пример вдохновил немного на оригами. Это будкт несколько полупрозрачных пролетов, которые мы будем вращать и косых. При наведении, они будут перенаправлены в начальное положение так, что все они выглядят как ящики.:

Код
<h2 class="cs-text" id="cs-text">Bird</h2>


Нам нужно вставить текст в span:

Код
$("#cs-text").lettering().children('span').wrap('<span>').parent().prepend('<span></span><span></span><span></span>');  
</span>


Давайте добавим ширину, высоту, отступы и очистим выравнивание:

Код
  
.cs-text {  
  width: 600px;  
  margin: 70px auto 30px;  
}  
   
.cs-text:before,  
.cs-text:after {  
  content: " ";  
  display: table;  
}  
   
.cs-text:after {  
  clear: both;  
}  


Все span'ы будут отображаться в виде блока элементов:

Код
.cs-text span{  
  cursor: default;  
  display: block;  
  position: relative;  
}


Первый слой пролета будет иметь высоту и ширину 130 пикселей и отступы полей 10 пикселей:

Код
.cs-text > span {  
  float: left;  
  width: 130px;  
  height: 130px;  
  margin: 10px;  
}


Все внутренние пролеты будут иметь фон RGBA, с помощью которого мы сделаем их полупрозрачными белыми. Мы также добавим эффект переход на них:

Код
.cs-text span span {  
  position: absolute;  
  width: 100%;  
  height: 100%;  
  top: 0;  
  left: 0;  
  background: rgba(255,255,255,0.3);  
  box-shadow: 1px 1px 2px rgba(0,0,0,0.2);  
  transition: all 0.3s ease-in-out;  
}


Добавим градиент как фон, который мы будем имитировать тонким слоем:

Код
.cs-text span span:last-child{  
  font-size: 70px;  
  line-height: 130px;  
  font-weight: 400;  
  text-transform: uppercase;  
  text-align: center;  
  color: rgba(255,255,255,0.8);  
  font-family: 'Michroma', sans-serif;  
  text-shadow:  
  1px 1px 1px rgba(0,0,0,0.1),  
  -1px -1px 1px rgba(0,0,0,0.1),  
  5px 5px 0 rgba(216,65,40,0.6),  
  -5px -5px 0 rgba(37,166,164,0.6);  
  background:  
  linear-gradient(  
  45deg,  
  rgba(249,249,249,0.08) 0%,  
  rgba(234,234,234,0.5) 49%,  
  rgba(255,255,255,0.51) 50%,  
  rgba(244,244,244,0.94) 100%  
  );  
}


Давайте добавим некоторые произвольные повороты и наклоны преобразований:

Код
.cs-text > span:nth-child(odd) span:first-child {  
  transform: rotate(5deg) skewY(-14deg);  
}  
   
.cs-text > span:nth-child(even) span:first-child {  
  transform: rotate(-35deg) skewY(-5deg);  
}  
   
.cs-text > span:nth-child(odd) span:nth-child(2) {  
  transform: rotate(45deg) skewY(-10deg);  
}  
   
.cs-text > span:nth-child(even) span:nth-child(2) {  
  transform: rotate(27deg) skewY(-12deg);  
}  
   
.cs-text > span:nth-child(odd) span:nth-child(3) {  
  transform: rotate(45deg);  
}  
   
.cs-text > span:nth-child(even) span:nth-child(3) {  
  transform: rotate(30deg);  
}


При наведении мы будем устанавливать все пролеты в положение 0 и применять различные text-shadow в текст, чтобы создать хороший эффект:

Код
#cs-text > span:hover span {  
  transform: rotate(0deg) skewY(0deg);  
  text-shadow:  
  1px 1px 0 rgba(216,65,40,0.1),  
  -1px -1px 0 rgba(37,166,164,0.1);  
}


И это был пример 6! Есть много возможностей, просто попробуйте изменить преобразование значения или гнезда пролета для некоторых интересных эффектов.

Пример 7



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

Код
<h2 class="cs-text">  
  <span>k</span>  
  <span>n</span>  
  <span>u</span>  
  <span>.</span>  
  <span>c</span>  
  <span>o</span>  
  <span>m</span>  
  <span></span>  
</h2>


Давайте определим некоторые свойства текста, а ширину:

Код
.cs-text {  
  font-size: 50px;  
  text-transform: uppercase;  
  margin: 80px auto 0 auto;  
  width: 580px;  
  height: 100px;  
  padding-left: 20px;  
  font-family: 'McLaren', Arial;  
  font-weight: 400;  
  position: relative;  
}  
   
/* Micro clearfix hack by Nicolas Gallagher http://nicolasgallagher.com/micro-clearfix-hack/ */  
.cs-text:before,  
.cs-text:after {  
  content: " ";  
  display: table;  
}  
   
.cs-text:after {  
  clear: both;  
}  
/* end clearfix hack */  


span будет плавающим. Мы добавим эффект переходов:

Код
.cs-text span {  
  cursor: default;  
  display: block;  
  float: left;  
  border-radius: 50%;  
  width: 100px;  
  height: 100px;  
  line-height: 100px;  
  text-align: center;  
  margin: 0 0 0 -20px;  
  color: rgba(255,255,255,0.95);  
  text-shadow: 0 -1px 1px rgba(0,0,0,0.1);  
  transition: all 0.4s ease-in-out;  
}


Пролеты будут чередоваться в цвете фона и мы добавим тонкую текстуру к ним:

Код
.cs-text span:nth-child(odd) {  
  background: rgba(118,176,204, 0.8) url(../images/noise.png);  
}  
   
.cs-text span:nth-child(even) {  
  background: rgba(58,126,162, 0.8) url(../images/noise.png);  
}


Все пролеты будут перемещены в центр. Мы применим преобразование дважды: первый представляет собой процент, что мы знаем, то есть у первого пролета должно быть 3 позиции, это 300%, а второе преобразование для компенсации разницы:

Код
.cs-text span:nth-child(1) {  
  transform: translate(300%) translate(-60px);  
}  
   
.cs-text span:nth-child(2) {  
  transform: translate(200%) translate(-40px);  
}  
   
.cs-text span:nth-child(3) {  
  transform: translate(100%) translate(-20px);  
}  
   
.cs-text span:nth-child(5) {  
  transform: translate(-100%) translate(20px);  
}  
   
.cs-text span:nth-child(6) {  
  transform: translate(-200%) translate(40px);  
}  
   
.cs-text span:nth-child(7) {  
  transform: translate(-300%) translate(60px);  
}


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

Код
.cs-text span:not(:last-child) {  
  opacity: 0;  
  pointer-events: none;  
}


Последний пролет специального диапазона логотип. Мы дадим ему другой фон и расположим его абсолютно в центре главной оболочки:

Код
.cs-text span:last-child{  
  position: absolute;  
  top: 0;  
  left: 50%;  
  margin-left: -50px;  
  z-index: 100;  
  background: url(../images/codrops_logo.jpg) no-repeat center center;  
}


При наведении, все пролеты будут установлены обратно в их естественное положение, и мы увеличим значение не прозрачности до 1:

Код
.cs-text:hover span:not(:last-child){  
  transform: translate(0%);  
  opacity: 1;  
}


Логотип службы будет масштабироваться немного вверх, и исчезать:

Код
.cs-text:hover span:last-child {  
  opacity: 0;  
  transform: scale(1.4);  
}


Пример 8



В последнем примере мы просто поиграем с тенями текста.

Код
<h2 class="cs-text">Time for Thyme</h2>


Мы будем использовать lettering.js, чтобы обернуть все слова в пролетах

Код
$(".cs-text").lettering('words');


Добавим ширину основного заголовока и в центре ее:

Код
.cs-text {  
  width: 660px;  
  margin: 120px auto 30px;  
  cursor: default;  
  transform: skewY(-12deg);  
  text-align: center;  
}


Пролеты будут дисплейными блоками, и мы добавим верхнее поле, чтобы установить их:

Код
.cs-text span {  
  display: block;  
  color: #fff;  
  font-weight: 400;  
  text-transform: uppercase;  
  margin-top: 6px;  
  font-family: 'Stint Ultra Expanded', cursive;  
}


Первое слово будет иметь размер шрифта 100 пикселей и большим расстоянием между буквами:

Код
.cs-text span:first-child {  
  font-size: 100px;  
  letter-spacing: 96px;  
  text-shadow: 6px 6px 0px rgba(255,255,255,0.3);  
}


Второе слово будет курсивным шрифтом с засечками, и мы дадим ему темный цвет:

Код
.cs-text span:nth-child(2) {  
  font-family: Georgia, serif;  
  font-weight: 400;  
  text-transform: none;  
  font-style: italic;  
  line-height: 60px;  
  font-size: 67px;  
  color: #392f2c;  
  text-shadow: 1px 1px 1px rgba(255,255,255,0.3);  
  position: relative;  
}


В стилях псевдо-классы :before :after создадут две линию, слева и справа:

Код
.cs-text span:nth-child(2):before,  
.cs-text span:nth-child(2):after {  
  content: '';  
  width: 240px;  
  height: 2px;  
  background: #392f2c;  
  position: absolute;  
  top: 50%;  
  margin-top: -1px;  
  box-shadow: 0 1px 0 rgba(255,255,255,0.2);  
}  
   
.cs-text span:nth-child(2):before {  
  left: 0px;  
}  
   
.cs-text span:nth-child(2):after {  
  right: 0px;  
}


Последнее слово будет иметь несколько теней текста, чтобы создать кучу эффектов. Хитрость заключается в том, чтобы выбрать между цветом текста и фоном тела, который является темно-коричневый в нашем случае:

Код
.cs-text span:nth-child(3) {  
  font-size: 130px;  
  text-shadow:  
  2px 2px 0 #645f59,  
  4px 4px 0 #fff,  
  6px 6px 0 #645f59,  
  8px 8px 0 #fff,  
  10px 10px 0 #645f59,  
  12px 12px 0 #fff,  
  14px 14px 0 #645f59,  
  16px 16px 0 #fff,  
  18px 18px 0 #645f59,  
  20px 20px 0 #fff,  
  22px 22px 0 #645f59,  
  24px 24px 0 #fff;  
}


И вот оно что! Надеюсь, вам понравились примеры типографии и вы нашли их вдохновляющими! Там можно очень много экспериментировать, так что просто попробуйте!

  • FalleN

  • 2551

  • 1

  • 152
Теги: typography, Letters, css3

Ссылки на статью:

Похожие статьи: