Добавить в закладки Read it!

Тег ‘ перспектива на css ’

Блуждая по сети, я не раз видела самые удивительные решения, основанные на применении 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), чтобы строки по мере увеличения шрифта не стали наезжать друг на друга.

Вот и весь секрет :) А дальше только ваша фантазия :)
Посмотреть пример наглядно можно здесь
Там же вы найдете и ссылки, чтобы скачать код.

Рубрика: Верстка | Автор: admin | TrackBack |