У меня есть этот Угловой проект, где я делаю список дел. Я использую Masonry directive, так что все мои сообщения о том, что он делает заметки, плавно размещаются на экране. Он очень похож на Google Keep.Переход на страницу для модели div?
То, с чем я борюсь, - это щелчок на заметке в сетке кладки и ее появление спереди и в центре в качестве диалогового окна модели для редактирования содержимого заметки. Я хочу анимировать заметку, откуда плагин масонства решил поместить его в центр экрана, растягивая его, предоставляя пользователю достаточно места для работы с запиской. Затем, когда пользователь закончен, я хочу размять записку и поместить ее туда, где она была (после этого я могу заставить плагин перетаскивать кирпичи вокруг в случае изменения размера заметки).
Вот что у меня есть для отображения заметки в виде кладки кирпича:
<div masonry='{ "transitionDuration" : "0.2s" , "itemSelector" : ".brick", "isFitWidth": true}' class="center-x">
<div ng-repeat="note in Todo.GetNotes()" class="brick">
<div class="mdl-card mdl-shadow--4dp demo-card-event" ng-class="[note.Color, {done: note.Done}]">
<div class="mdl-card__title mdl-card--expand">
<h4>
{{ note.Content }}
</h4>
</div>
<div class="mdl-card__menu">
<button class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect" ng-class="{'done-check': !note.Done}" ng-click="Todo.toggleDone(note)">
<i class="material-icons">done</i>
</button>
</div>
</div>
</div>
</div>
Это немного неаккуратно из-за многословие Материальной Design Lite, но вот оно сводилось к только элементам DOM и важные части:
<div masonry='{ "itemSelector" : ".brick" }'>
<div ng-repeat="note in Todo.MyNotesArray" class="brick">
<div>
<div>
<h4>
{{ note.Content }}
</h4>
</div>
<div>
<button ng-click="Todo.toggleDone(note)">
<i class="material-icons">done</i>
</button>
</div>
</div>
</div>
</div>
Любой из порожденных .bring
элементов, что я хотел, чтобы оживить.
Однако я пока не умею с анимацией CSS, и я не нашел библиотеку, чтобы делать именно то, что я хочу.
I have a fiddle где я играю с этим, но я не могу получить переход, чтобы перейти в центр экрана вместо привязки. Также он ставит угол в центре. В конце концов я собирался выяснить, как разместить центр в центре.
.brick {
height: 100px;
width: 100px;
background-color: red;
transition: all 1s;
}
.modal {
position: fixed;
top: 50%;
left: 50%;
width: 200px;
height: 300px;
transition: all 1s;
z-index: 10;
}
Кажется, переход к тому, где я говорю, но он не переходит назад. Он откидывается назад. http://jsfiddle.net/u44wogs0/3/ –
Я обновил свой ответ, добавив положение: абсолютное исходное состояние, похоже, решает проблему привязки. –
Это действительно работает, но я не уверен, могу ли я сделать каждую кирпичную позицию: абсолютной, и все равно хорошо играть с кладкой. Я посмотрю на него и, возможно, открою целый «новый вопрос». Посмотрим. –