Я создал быстрый и грязный JSFiddle здесь: https://jsfiddle.net/x0b397pb/
Как вы можете видеть, это возможно только с помощью CSS. В этом примере я использовал псевдоэлементы (::before
и ::after
), чтобы создать большинство элементов.
Вы упомянули «Я не знаком с анимацией CSS». For this I used transitions.
transition: left 1000ms, right 1000ms, box-shadow 1000ms;
Каждый разделенные запятой элемент представляет собой значение, которое будет переход между 2 точками. Этот переход происходит при смене div, это может быть на зависании, но также при применении другого div (через JS).
Чтобы создать эффект линий, постепенно меняющихся в цвете, я использовал другой элемент, который скользит поверх двух исходных строк. Новые линии изначально имеют ширину 0, но при наведении они получают 100% ширину. С переходом transition: width 1000ms;
это происходит постепенно.
Старайтесь не использовать мой код в качестве вашего последнего примера, так как он несколько уродлив. Но я надеюсь, что это будет иметь смысл.
Это достигается только с помощью css. можете ли вы поделиться своим кодом до сих пор? вы сами это пробовали? ты что-то застрял? Люди здесь будут рады помочь вам, но не писать код для вас с нуля :-) –
use css. js не требуется –
Ожидается, что вы, по крайней мере, попытаетесь запрограммировать это для себя. Stack Overflow не является службой записи кода. Я бы предположил, что вы делаете некоторые [** дополнительные исследования **] (http://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users) , либо через Google, либо путем поиска SO, сделайте попытку и. если у вас все еще есть проблемы, вернитесь ** с кодом ** и объясните, что вы пробовали, и почему это не сработало. –