Как повернуть значок стрелки в левой части? Без поворота всей иконки? Только css

Мне нужно повернуть значок влево. У меня есть пример с правой стороны, и это работает хорошо, но мне нужно и с левой стороны.

Проверьте это ->

https://codepen.io/HektorW/pen/eJMMaR

Это пример кода ->

.arrow {
  cursor: pointer;
  height: 120px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: transform 0.1s;
  width: 80px;
  
}
.arrow-top, .arrow-bottom {
  background-color: #666;
  height: 4px;
  left: -5px;
  position: absolute;
  top: 50%;
  width: 100%;
}
.arrow-top:after, .arrow-bottom:after {
  background-color: #fff;
  content: '';
  height: 100%;
  position: absolute;
  top: 0;
  transition: all 0.15s;
}
.arrow-top {
  transform: rotate(45deg);
  transform-origin: bottom right;
}
.arrow-top:after {
  left: 100%;
  right: 0;
  transition-delay: 0s;
}
.arrow-bottom {
  transform: rotate(-45deg);
  transform-origin: top right;
}
.arrow-bottom:after {
  left: 0;
  right: 100%;
  transition-delay: 0.15s;
}
.arrow:hover .arrow-top:after {
  left: 0;
  transition-delay: 0.15s;
}
.arrow:hover .arrow-bottom:after {
  right: 0;
  transition-delay: 0s;
}
.arrow:active {
  transform: translateX(-50%) translateY(-50%) scale(0.9);
}

Что я пытаюсь ->>>

.arrow {
  cursor: pointer;
  height: 120px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(180deg); ADD ROTATE 
  transition: transform 0.1s;
  width: 80px;
}

Я добавил поворот (180 градусов), но это не рабочее свойство, потому что при щелчке вся стрелка поворачивается ко мне.

Мне нужна стрелка вверху и внизу, чтобы изменить

Я также пытаюсь установить

преобразование-происхождение: вверху слева;

Вставленное преобразование-происхождение: вверху справа;

но и не точный угол стрелки.

Редактировать:

Также попробуйте не менять анимацию....

Чтобы решить проблему с возвратом, необходимо также добавить rotate(180deg) к классу :active: codepen.io/moaaz_bs/pen/vYpNzgK

Moaaz Bhnas 16.03.2022 22:07

Это то, что вы хотели сделать?

Moaaz Bhnas 16.03.2022 22:08

Да, верно. Просто добавьте код, чтобы утвердить вопрос.

Votooe 16.03.2022 22:09
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
3
33
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам также нужно добавить вращение в класс :active:

  &:active {
    transform: translateX(-50%) translateY(-50%) scale(0.9) rotate(180deg);
  }

Таким образом, ротация продолжает действовать.

Пример: КодПен

Вы можете внести небольшие изменения, чтобы стрелка имела анимацию в правильном направлении.

Вам нужно поменять местами transform-origin и transition-delay переключение между ними даст вам стрелку с похожей анимацией с правильным исходным положением и правильно отформатирует стрелку.

body {
  background-color: #111;
}

.arrowleft {
  cursor: pointer;
  height: 120px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: transform .1s;
  width: 80px;
  
  $transition-time: .15s;
  
  &-top,
  &-bottom {
    background-color: #666;
    height: 4px;
    left: -5px;
    position: absolute;
    top: 50%;
    width: 100%;
    
    &:after {
      background-color: #fff;
      content: '';
      height: 100%;
      position: absolute;
      top: 0;
      transition: all $transition-time;
    }
  }
  
  &-top {
    transform: rotate(45deg);
    transform-origin: top left;
    
    &:after {
      left: 100%;
      right: 0;
      transition-delay: $transition-time;
    }
  }
  
  &-bottom {
    transform: rotate(-45deg);
    transform-origin: bottom left;
   
    
    &:after {
      left: 0;
      right: 100%;
      transition-delay: 0s;
    }
  }
  
  &:hover & {
    
    &-top:after {
      left: 0;
      transition-delay: 0s;
    }

    &-bottom:after {
      right: 0;
      transition-delay: $transition-time;
    }
  }
  
  &:active {
    transform: translateX(-50%) translateY(-50%) scale(0.9);
  }
}

https://codepen.io/Kahler/pen/QWajVgr

Другие вопросы по теме