Информационный портал

Информационно-новостной портал

Новости рекламы и маркетинга. Новости Интернета.
Море полезной информации на сайте RetailDepartment.ru
Поделиться ссылкой с друзьями

3D повороты при помощи CSS

Twitter
Нравится
RedLine

Сегодня мы поговорим о CSS трансформации объектов. В особенности о 3D повороте.

Поворот различного рода элементов с помощью CSS может привести, что их крайние стороны станут несколько кривыми. Конечно же всё зависит от браузера и от вашей GPU (графического процессора).

Мы убрали браузерные префиксы, чтобы не нагружать код:

.church { perspective: 700px; padding: 2rem; }
.church img { transform: rotateY(12deg);  }

Для того чтобы исправить неровные края, применим одну фишку: добавим прозрачную рамку в 1 px:

.church img { transform: rotateY(12deg); outline: 1px solid transparent; }

Однако, если вы сделаете изображения обтекаемыми (float), при применении свойства perspective, то можете увидеть странный результат. Дело в том, что в этих условиях, размер контейнера содержащий изображение теряет размер высоты.

К примеру, если применить эффект к изображению (с float или position:absolute) в div-е, получится примерно такой результат:

<div class=taj>
<img src=taj-mahal-full.jpg alt="A photograph the Taj Mahal at sunset" style=width:300px>
</div>
.taj { perspective: 700px; border: 1px solid red; }
.taj img { transform: rotateY(12deg); float: left;
outline: 1px solid transparent; }

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


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/77GZMwinLW0/lessons.php

Add comment

Правила добавления комментариев


Security code
Refresh

Download SocComments v1.3