Jump to content
  • 0

Отображение перспективы при анимации поворота


ows.nightwolf
 Share

Question

Доброго времени суток. Возникла проблема при анимации переворота блоков, а если точнее - неправильное отображение перспективы. Суть проблемы словами описать сложновато, так что выкладываю код:

http://jsbin.com/uGaFihE/4/edit?html,css,js,output

и картинки, описывающие:

1) Перспективу такой, какая она есть сейчас:

178426933.jpg178426934.jpg178426935.jpg

2) И такой, какой должна быть в идеале (все внимание - на углы в центре изображения :)):

178426936.jpg178426937.jpg178426938.jpg178426939.jpg

Как можно реализовать данную анимацию, не помещая эти два блока в один контейнер?

Edited by ows.nightwolf
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

спасибо, гайд помог. Чтобы все заработало как надо нужно было задать родительскому элементу блоков (в моем случае это body) перспективу, и убрать ее из всех свойств класса .block.itemback.

Правда у меня возникла еще одна проблема - в chrome перспектива работала только с обратной анимацией, мне не удалось понять с чем это связано, но проблема исчезала если задать классу .block свойство -webkit-transform: rotateY(0.00001deg); (т.к. rotateY(0) не давало никакого результата).

Вот конечный результат: http://jsbin.com/uGaFihE/12/edit?html,css,js,output

P.S. Есть ли возможность на этом форуме ставить лайки? а то что-то не могу найти.

Edited by ows.nightwolf
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Jasahd0307
      Как сделать анимацию как на этом сайте https://travelshift.com/
      Если зажать мышку то картинки меняются анимировано можете мне с этим помочь
    • By Andrey_Afonchenko
      Здравствуйте! Помогите, пожалуйста!
      Есть два блока (div): один с картинкой, а другой с текстом.
      Нужно реализовать: сначала блок с картинкой должен перекрывать блок с текстом, а потом блок с текстом должен перекрывать блок с картинкой.
      Для этого я делал в попытке реализации данного эффекта:
      .image
      {
          display: inline-block;
          Position: absolute;
          z-index: 1;
      }
      @Keyframes block_overlap
      {
          from
          {
              z-index: 0;
          }
          to
          {
              z-index: 2
          }
      }
      .text
      {
          display: inline-block;
          position: absolute;
          animation-name: block_overlap;
          animation-duration: 1s;
      }
      Данный код не привёл к решению проблемы.
       
    • By pro100blich
      Особо не вдавался в подробности анимации, поэту прошу у вас.

      Нужно сделать так, чтобы буква при загрузки страницы, после 3с (ПРИМЕРНО) с центра экрана переместилась на 300px (ПРИМЕРНО) в любое из четырех направлений.

      P.S. Лишнего не пишите, и ссылки на темы не надо кидать.
       
    • By Ferensy
      Добрый день. Есть задача сделать анимацию как в примере по ссылке (видео на Youtube.com) - 
      С подобным ни разу не сталкивался, но ужасно хочется понять, как это реализуется. Я не прошу готового решения, я лишь прошу чтоб меня направили в ту сторону, в которой можно в этом разобраться. Спасибо.
    • By chester40
      Здравствуйте. Прошу помочь в решении следующей задачи:

      Имеется родительский элемент со свойством clip-path и дочерний элемент с анимацией:

      Для примера:
      HTML
      <div id="logoimage-waves"> <div id="waves-animated"></div> </div> <svg> <clipPath id="WavesPolygon"> <polygon points="0 0,95 0,95 8,80 5,60 10,40 15,20 20"> </polygon> </clipPath> </svg>  
      CSS
      #logoimage-waves { width: 100px; height: 100px; clip-path: url("#WavesPolygon"); -webkit-clip-path: polygon(0px 0px,95px 0px,95px 8px,80px 5px,60px 10px,40px 15px,20px 20px); position: absolute; } #waves-animated { width: 100px; height: 100px; position: absolute; background: url(/images/waves.png) no-repeat; animation: waves-animation 40s; } @keyframes waves-animation { from { transform:rotate(0deg); } to { transform:rotate(-360deg); } }  
      Вопрос следующий:

      В Firefox всё работает как надо, дочерний анимированный элемент обрезается с помощью свойства clip-path родительского элемента. Но в других браузерах (проверял в Chrome 55 и Opera 41) обрезка не работает и элемент показывается полностью. Причём, что важно, это происходит только в том случае, если дочерний элемент анимирован с помощью свойства transform, а если анимируется другое свойство, например margin, то обрезка работает во всех браузерах. Короче говоря: дочерние элементы анимированные с помощью transform не обрезаются с помощью clip-path родительского элемента в Хроме и Опере.
      В общем задачка та еще. Второй день пытаюсь решить )

      Благодарю за внимание!
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy