it-swarm.com.ru

Как повернуть фоновое изображение в контейнере?

Я хочу повернуть изображение, которое находится на кнопке полосы прокрутки в Chrome. Теперь у меня есть CSS с этим содержанием:

::-webkit-scrollbar-button:vertical:decrement
{
    background-image:url(images/arrowup.png) ;
    -webkit-transform:rotate(120deg);
    -moz-transform:rotate(120deg);
    background-repeat:no-repeat;
    background-position:center;
    background-color:#ECEEEF;
    border-color:#999;
}

Я хочу вращать изображение, не поворачивая его содержимое.

131
priya

Очень хорошо сделано и ответили здесь - http://www.sitepoint.com/css3-transform-background-image/

#myelement:before
{
    content: "";
    position: absolute;
    width: 200%;
    height: 200%;
    top: -50%;
    left: -50%;
    z-index: -1;
    background: url(background.png) 0 0 repeat;
    -webkit-transform: rotate(30deg);
    -moz-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    -o-transform: rotate(30deg);
    transform: rotate(30deg);
}
125
Anmol Saraf

Очень простой способ, вы вращаете в одну сторону, а содержимое - в другую. Требуется квадрат хотя

#element{
    background : url('someImage.jpg');
}
#element:hover{
    transform: rotate(-30deg);
}
#element:hover >*{
    transform: rotate(30deg);
}
15
Martijn

Я тоже хотел это сделать. У меня есть большое изображение плитки (буквально изображение плитки), которое я хотел бы повернуть примерно на 15 градусов и повторить. Вы можете вообразить размер изображения, которое будет повторяться без проблем, делая ответ "программа редактирования изображений" бесполезным.

Мое решение состояло в том, чтобы дать psuedo: before элементу - увеличить его размер - повторить его - установить неперевернутый (только одна копия :) изображение мозаики (psedo): повторить его - установить переполнение контейнера на скрытый - и повернуть сгенерированный: before элемент, используя преобразования css3. Чушь!

5
Simon Seddon

CSS:

.reverse {
  transform: rotate(180deg);
}

.rotate {
  animation-duration: .5s;
  animation-iteration-count: 1;
  animation-name: yoyo;
  animation-timing-function: linear;
}

@keyframes yoyo {
  from { transform: rotate(  0deg); }
  to   { transform: rotate(360deg); }
}

Javascript:

$(buttonElement).click(function () {
  $(".arrow").toggleClass("reverse")

  return false
})

$(buttonElement).hover(function () {
  $(".arrow").addClass("rotate")
}, function() {
  $(".arrow").removeClass("rotate")
})

PS: я нашел это где-то еще, но не помню источника

4
user2129794

В моем случае размер изображения не такой большой, что у меня не может быть его повернутой копии. Итак, изображение было повернуто с photoshop. Альтернатива photoshop для вращающихся изображений - онлайн-инструмент также для вращающихся изображений . После поворота я работаю с rotated-image в свойстве background.

div.with-background {
    background-image: url(/img/rotated-image.png);
    background-size:     contain;
    background-repeat:   no-repeat;
    background-position: top center;
}

Удачи...

2
Akash