Я пытаюсь сделать иконку гамбургера только для css из промежутков, которые вращаются на 405 градусов, чтобы создать иконку закрытия.Я полагаю, что они вращают полные 405, так как я играл с числами, и он отлично работает до 225, но переходы для всего, что я пробовал за 225, похоже, находят самый быстрый маршрут, я полагаю.Похоже, они просто вращаются на 45 градусов.
На самом деле я был бы счастлив с 225 градусами, но в финальном проекте есть некоторые тени от ящиков, которые становятся инвертированными при 225 градусах, поэтому это должен быть как минимум один полный оборот плюс 45 градусов.
Я подумал, что это может быть какая-то странность с хромом, отображающим повороты на 360 градусов или что-то в этом роде, но он выглядит так же, когда я пробую его в Firefox и Safari, и он также делает тот же странный переход на 315 градусов.Я также погуглил, чтобы увидеть, была ли у кого-нибудь еще эта проблема, и я не видел никого с подобными проблемами там.Фактически, принятый ответ на этот вопрос делает его звучащим так, как будто он работает для них.
Вы можете увидеть мой код здесь: https://jsfiddle.net/ys3pheb1/10/
header input { opacity: 0; }
header input + label {
position: absolute;
top: 50%;
right: 50%;
transform: translate(-50%, -50%);
height: 20px;
width: 30px;
z-index: 5;
}
header input + label span {
position: absolute;
width: 100%;
height: 4px;
border-radius: 2px;
top: 50%;
left: 0;
transform: translateY(-50%);
margin-top: -1px;
display: block;
transition: .5s;
background-color: #000;
}
header input + label span:first-child {
top: 0;
}
header input + label span:last-child {
top: 100%;
}
header label:hover {
cursor: pointer;
}
header input:checked + label span {
opacity: 0;
top: 50%;
transform: translateY(-50%);
}
header input:checked + label span:first-child {
opacity: 1;
transform: rotate(-405deg); /* HERE IS THE FIRST ROTATE */
transition: all .7s ease;
}
header input:checked + label span:last-child {
opacity: 1;
transform: rotate(405deg); /* HERE IS THE SECOND ROTATE */
transition: all .7s ease;
}
<header>
<input id="burger" type="checkbox">
<label for="burger">
<span></span>
<span></span>
<span></span>
</label>
</header>
Заранее спасибо!
Редактировать: О, я должен также упомянуть, что это основано на коде JLNLJN, который вы можете найти здесь:https://codepen.io/jlnljn/pen/LkXoBb
Я должен также упомянуть, что оригинал также имеет поворот 405, что для меня отлично.