Блуждая по сети, я не раз видела самые удивительные решения, основанные на применении CSS. И с каждым разом все больше верится, что возможности CSS безграничны
Сегодня я увидела вот такую картинку:

Правда интересный эффект? Давайте попробуем раскрыть секрет его реализации.
Для того, чтобы сделать эффект «перспективного» текста, нам потребуется всего лишь 3 элемента – блок
div,
p и
span. Вспомним, что span это элемент строки (по умолчанию), поэтому мы можем «причесать» любое слово/строку как захотим. Но ничего фантастического делать нам не нужно

Span мы будем использовать, чтобы разбить текст, который мы хотим преобразовать, на строки. А элемент p – будет обрамлять наш текст.
С текстом разобрались, но как же нам указать разную величину шрифта для каждой строки? Мы немного схитрим и не будем закрывать тег span после каждой строки, а сделаем так, чтобы каждая строка была как бы вложенна в другую. А закрывающий тег от каждой строки поместим в самый конец текста. Главное здесь не обсчитаться в количестве открывающих и закрывающих тегов. И тогда код будет выглядеть так:
<div id="text">
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.<span>
Pellentesque velit lacus,porta vitae, consequat in,<span>
aliquam condimentum, tortor. Mauris sed est feugiat<span>
erat lacinia rutrum. Fusce dapibus nonummy nisi.<span>
Nullam et mi nec arcu tempor pellentesque. Fusce<span>
diam dui, pharetra at, pellentesque quis, dapibus<span>
ut, erat. Curabitur venenatis condimentum nisi.<span>
In posuere. Curabitur accumsan, libero eget<span>
congue sodales, lacus mi vehicula lorem,<span>
nec rutrum velit nunc vitae magna. Proin<span>
et Perspective Text via CSS.</span></span></span></span></span></span></span></span></span></span>
</p>
</div>
Что нам это дает? Вспомним, что дочерние элементы наследуют свойства родительского элемента, причем каждый последующий вложенный элемент присваивает значение относительно его предыдущего блока, а не самого первого. Ярким примером может быть например такое: когда мы используем вложенные блоки с шириной в процентах, например 70%. Каждый вложенный блок будет иметь ширину 70% относительно предыдущего блока, тем самым самый последний вложенный блок будет самым маленьким.
Думаю, вы уже поняли наши дальнейшие действия
Мы будем проделывать это с величиной шрифта, указав его в процентах.
Стили для наших элементов будут выглядеть так:
#text {
margin : auto;
width : 40em;
font-size : 50%;
line-height : 1.6em;
max-width : 90%;
text-align : center;
}
#text p span {
font-size : 1.1em;
display:block;
clear:both;
}
Важно уточнить, что размер текста нужно указывать именно в em и обязательно больше чем 1 em – иначе эффект будет другой. Также нужно помнить о расстоянии между строками (line-height), чтобы строки по мере увеличения шрифта не стали наезжать друг на друга.
Вот и весь секрет
А дальше только ваша фантазия
Посмотреть пример наглядно можно здесь
Там же вы найдете и ссылки, чтобы скачать код.