поле с вводом - обычный input/textarea,
остальное обычными блоками с текстом
посмотрите как сделан devtools, например. там есть консоль. можно через другой devtools рассмотреть, как это реализовано.
но в чем собственно вопрос, что не получается?
Elena_11, я не заявлял что поворот это изменение ширины, а имел ввиду, что визуально, в данном случае, это одно и то же. посему и порекомендовал поэкспериментировать в данном направлении. черновик я вам предложил ради небольшого рефакторинга вашего кода, где прописана аналогия в гораздо более упрощенном виде, что мне требовалось для нормальной отладки этого дела.
по поводу всего этого:
ваше мигание происходит из-за того, что вы меняете индексы, что в конкретном случае, по моему мнению, - не то, что нужно там делать(не потому что это - "происходит только в сафари"), что хорошо видно из происходящего на черновике во всех бразуерах. вы физически складываете слоя друг под друга, а потом пытаетесь их тусануть. это не нормально.
Elena_11, спасибо, я разбираюсь в этом вопросе довольно хорошо; такого ответа от вас я не ожидал.
то , что вам не понравился мой недоделанный черновик, значит, что мне можно высказывать поучительные слова? вы отвратительно делаете свою работу, вот что я могу сказать вам.
Elena_11, если поснимать индексы и открыть в хроме то видно, почему это происходит. мне удивительно, что это в целом вообще работает.
я бы вам посоветовал все переделать заново. сделано довольно замудрено и сложно, поэтому разобраться не просто. тем более, это анимация выглядит и не совсем 3d, хотя сделана именно так. по сути вы просто делаете переход ширины изображения, одно сужается, другое расширяется. тоже самое. может на этом попробовать сыграть, если оно вам надо вообще.
я немного начал упрощать ваш код вот тут, продолжать не стал - можете вы.
может у вас дворак? :)