поворот изображения с помощью CSS
Я хотел бы повернуть изображение на 90 градусов только с помощью CSS. Я могу сделать поворот, но тогда положение изображения не то, что должно быть. Во-первых, он будет накладывать некоторые другие элементы в том же div, а во-вторых, его вертикальный размер станет больше, чем содержащий div. Вот мой код
<article>
<section class="photo">
<div>Title</div>
<div class="imagetest">
<img src="DSC01688.JPG" width=100%/>
</div>
</section>
</article>
где два класса определяются как
.imagetest img {
transform: rotate(270deg);
-ms-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-webkit-transform: rotate(270deg);
-o-transform: rotate(270deg);
}
.photo {
width: 95%;
padding: 0 15px;
margin: 0 0 10px 0;
float: left;
background: #828DAD;
}
есть ли способ сохранить изображение в разделе? Я могу перевести и масштабировать изображение так что он находится в разделе, но это работает только, если я знаю размер изображения заранее. Я хотел бы иметь надежный способ, который не зависит от размера.
2 ответов
дайте родителю стиль overflow: hidden
. Если это перекрывающиеся братские элементы, вам нужно будет поместить его внутри контейнера с фиксированной высотой / шириной и дать этому стилю overflow: hidden
.
беда похоже, изображение не квадратные и браузер настраивает как таковой. После поворота убедитесь, что размеры сохраняются путем изменения поля изображения.
.imagetest img {
transform: rotate(270deg);
...
margin: 10px 0px;
}
сумма будет зависеть от разницы в высоты и ширины изображения.
Вам также может потребоваться добавить display:inline-block;
или display:block
чтобы заставить его распознать параметр margin.