Статьи

Как создать эффект перемешанной бумаги в CSS3

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


перетасованная бумага
Посмотреть демонстрацию и код …

Неудивительно, что для отображения нижних страниц используются псевдоэлементы: before и: after. Они вращаются, используя преобразование, чтобы дать перемешанный взгляд. Код работает в Chrome, Safari, Firefox, IE10 и Opera ( версии Presto и, возможно, Webkit ). Старые браузеры могут показывать нижние страницы, но они не будут поворачивать их, поэтому они фактически невидимы. Однако эффект должен ухудшаться изящно.

Давайте начнем с некоторого HTML:

<div class="papers"> <p>some content</p> </div> 

Ничего особенного, чтобы увидеть здесь. Я использовал общий div , но вы можете использовать section , article или что-то еще. Класс «документы» отвечает за применение эффекта.

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

 .papers, .papers:before, .papers:after { background-color: #fff; border: 1px solid #ccc; box-shadow: inset 0 0 30px rgba(0,0,0,0.1), 1px 1px 3px rgba(0,0,0,0.2); } 

Обратите внимание, что определены две box-shadow : затенение внутренней страницы и тонкая тень.

Далее мы определим стили для основного элемента. В первую очередь это ширина, отступы и поля, но наиболее важна относительная позиция. Кстати, не поддавайтесь искушению применить z-index ; это заставит псевдоэлементы появляться сверху.

 .papers { position: relative; width: 50%; padding: 2em; margin: 50px auto; } 

Теперь мы применим некоторый контент, размеры и расположение к псевдоэлементам: before и: after. По сути, они имеют тот же размер, форму и расположение, что и основной элемент:

 .papers:before, .papers:after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; 

Теперь начинается интересная часть — мы будем вращать их, используя преобразование. Нам нужен префикс -webkit для Chrome и Safari. Префикс -o необходим для Opera, которая предпочитает rotate вместо rotateZ. Firefox и IE10 поддерживают преобразование без префикса.

  -webkit-transform: rotateZ(2.5deg); -o-transform: rotate(2.5deg); transform: rotateZ(2.5deg); z-index: -1; } 

Обратите внимание, что мы установили z-index равным -1, чтобы поместить элементы ниже основного контейнера.

Наконец, мы применяем другое вращение к псевдоэлементу: after.

 .papers:after { -webkit-transform: rotateZ(-2.5deg); -o-transform: rotate(-2.5deg); transform: rotateZ(-2.5deg); } того, как .papers:after { -webkit-transform: rotateZ(-2.5deg); -o-transform: rotate(-2.5deg); transform: rotateZ(-2.5deg); } 

Легко. Посмотреть демонстрацию и код …

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