2015-05-21 3 views
0

У меня есть некоторые проблемы здесь, и я больше не знаю, как его решить.Inherit transform свойство из предыдущего атрибута элемента

У меня есть веб-страница с фиксированным sidebarmenu, называемым «toolmenu» (а не навигацией). Есть некоторые подсайты, которые содержат другое конкретное подменю для того, чтобы вспомогательный сайт мог перемещаться. Если пользователь переходит на такой сайт, инструментальная панель скользит вниз (через анимацию css), и подменю «затухает». Если пользователь покинет такой сайт, перейдя на другой сайт без такого меню суб-навигации, инструментальная панель снова вернется обратно.

Здесь приходит вызов:

Я хочу, чтобы наследовать высоту-навигация подменит (который устанавливается на «высоту: авто» в CSS) к toolmenu так, что toolmenu-анимация знает отправной точкой для его анимации.

Во-первых, у меня была высота меню суб-навигации, установленного на 200 пикселей, и поэтому анимация была основана на этой высоте. Код по-прежнему остается старым, поскольку я понятия не имел, как его динамически создавать.

div.toolmenu_animated_moveDown { 
    animation-name: moveDown; 
    animation-duration: 0.5s; 
} 

div.toolmenu_animated_moveUp { 
    animation-name: moveUp; 
    animation-duration: 0.5s; 
} 

@keyframes moveDown { 
from {transform: translateY(-235px);} 
to {transform: translateY(0px);} 
} 

@keyframes moveUp { 
from {transform: translateY(235px);} 
to {transform: translateY(0px);} 
} 
div.submenu, div.submenu_animated { 
text-align: center; 
float: left; 
background-color: #FFC981; 
border-radius: 10px; 
width: 200px; 
height: 200px; 
margin: 20px 10px 0px 10px; 
padding: 10px 5px 5px 0px; 
box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.50); 
} 

div.submenu_animated { 
    animation-name: fadeIn; 
    animation-duration: 2s; 
} 

@keyframes fadeIn { 
0% {opacity: 0;} 
25% {opacity: 0;} 
50% {opacity: 1;} 
50% {opacity: 1;} 
100% {opacity: 1;} 
} 

сама страница генерируются с помощью PHP, и я написал некоторые функции, которые подтверждение от какого сайта пришел пользователь и к которому один он переходит, таким образом, что анимация включается только при необходимости.

Я надеюсь, что у кого-то есть идея, как создать такую ​​зависимость в CSS. Я также думал о DSS, используя PHP, но я не мог понять, как его реализовать. Если вам нужен какой-либо дополнительный код, пожалуйста, скажите мне, я хотел бы сохранить его максимально простым.

С наилучшими пожеланиями

ответ

0

Использование Sass будет лучшим решением, как один из его основных функций является наследование с возможностью объявить класс.

Для примера:

.submenu_animated{ 
text-align: center; 
float: left; 
background-color: #FFC981; 
border-radius: 10px; 
width: 200px; 
height: 200px; 
margin: 20px 10px 0px 10px; 
padding: 10px 5px 5px 0px; 
box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.50); 
} 

.tools_menu{ 
@extend .submenu_animated; 
} 

Это лишь небольшой фрагмент кода, можно также создать метод анимации и применить его к любому классу вы хотите ... проверить дерзость здесь:

http://sass-lang.com/

+0

Я изучил его, но я думаю, что это не то, что я ищу. Кажется, это какая-то структура для CSS-Creation. Это просто код CSS из ранее введенного SASS-кода. Поэтому я не вижу здесь никакой дополнительной функции. Может быть, вы можете объяснить более подробно. – Jascha

+0

Правильно. Он позволяет использовать передовые методы программирования, такие как наследование, mixins и переменные, а затем выводит исходный код на обычный css. Используйте эту ссылку еще более подробно ... http: //codeboxers.com/sass-mixin-for-transitions/ – KpTheConstructor

+0

Хорошо, вот что я подумал. Моя проблема заключается в том, что мне нужны дополнительные функции, которые не предоставляются CSS, как стиль, в зависимости от другого элемента php/html, который имеет динамический атрибут. Не знаю, описал ли я это в первую очередь. Тем не менее, спасибо за вашу идею. – Jascha