fix: 旋转后的元素执行动画异常

This commit is contained in:
pipipi-pikachu 2021-04-09 12:44:11 +08:00
parent 48660ed8ec
commit 5b9b117fcb
6 changed files with 213 additions and 170 deletions

View File

@ -8,6 +8,10 @@
height: elementInfo.height + 'px',
transform: `rotate(${elementInfo.rotate}deg)`,
}"
>
<div
class="rotate-wrapper"
:style="{ transform: `rotate(${elementInfo.rotate}deg)` }"
>
<div
class="element-content"
@ -34,6 +38,7 @@
</div>
</div>
</div>
</div>
</template>
<script lang="ts">
@ -85,7 +90,10 @@ export default defineComponent({
.base-element-image {
position: absolute;
}
.rotate-wrapper {
width: 100%;
height: 100%;
}
.element-content {
width: 100%;
height: 100%;

View File

@ -7,9 +7,12 @@
left: elementInfo.left + 'px',
width: elementInfo.width + 'px',
height: elementInfo.height + 'px',
transform: `rotate(${elementInfo.rotate}deg)`,
}"
@mousedown="$event => handleSelectElement($event)"
>
<div
class="rotate-wrapper"
:style="{ transform: `rotate(${elementInfo.rotate}deg)` }"
>
<ImageClipHandler
v-if="isCliping"
@ -50,6 +53,7 @@
</div>
</div>
</div>
</div>
</template>
<script lang="ts">
@ -149,7 +153,10 @@ export default defineComponent({
cursor: default;
}
}
.rotate-wrapper {
width: 100%;
height: 100%;
}
.element-content {
width: 100%;
height: 100%;

View File

@ -6,8 +6,11 @@
left: elementInfo.left + 'px',
width: elementInfo.width + 'px',
height: elementInfo.height + 'px',
transform: `rotate(${elementInfo.rotate}deg)`,
}"
>
<div
class="rotate-wrapper"
:style="{ transform: `rotate(${elementInfo.rotate}deg)` }"
>
<div
class="element-content"
@ -49,6 +52,7 @@
</SvgWrapper>
</div>
</div>
</div>
</template>
<script lang="ts">
@ -96,7 +100,10 @@ export default defineComponent({
.base-element-shape {
position: absolute;
}
.rotate-wrapper {
width: 100%;
height: 100%;
}
.element-content {
width: 100%;
height: 100%;

View File

@ -7,9 +7,12 @@
left: elementInfo.left + 'px',
width: elementInfo.width + 'px',
height: elementInfo.height + 'px',
transform: `rotate(${elementInfo.rotate}deg)`,
}"
@mousedown="$event => handleSelectElement($event)"
>
<div
class="rotate-wrapper"
:style="{ transform: `rotate(${elementInfo.rotate}deg)` }"
>
<div
class="element-content"
@ -52,6 +55,7 @@
</SvgWrapper>
</div>
</div>
</div>
</template>
<script lang="ts">
@ -120,7 +124,10 @@ export default defineComponent({
cursor: default;
}
}
.rotate-wrapper {
width: 100%;
height: 100%;
}
.element-content {
width: 100%;
height: 100%;

View File

@ -5,8 +5,11 @@
top: elementInfo.top + 'px',
left: elementInfo.left + 'px',
width: elementInfo.width + 'px',
transform: `rotate(${elementInfo.rotate}deg)`,
}"
>
<div
class="rotate-wrapper"
:style="{ transform: `rotate(${elementInfo.rotate}deg)` }"
>
<div
class="element-content"
@ -26,6 +29,7 @@
<div class="text ProseMirror-static" v-html="elementInfo.content"></div>
</div>
</div>
</div>
</template>
<script lang="ts">
@ -61,7 +65,10 @@ export default defineComponent({
.base-element-text {
position: absolute;
}
.rotate-wrapper {
width: 100%;
height: 100%;
}
.element-content {
position: relative;
padding: 10px;

View File

@ -7,9 +7,12 @@
top: elementInfo.top + 'px',
left: elementInfo.left + 'px',
width: elementInfo.width + 'px',
transform: `rotate(${elementInfo.rotate}deg)`,
}"
@mousedown="$event => handleSelectElement($event)"
>
<div
class="rotate-wrapper"
:style="{ transform: `rotate(${elementInfo.rotate}deg)` }"
>
<div
class="element-content"
@ -34,6 +37,7 @@
></div>
</div>
</div>
</div>
</template>
<script lang="ts">
@ -325,7 +329,10 @@ export default defineComponent({
cursor: default;
}
}
.rotate-wrapper {
width: 100%;
height: 100%;
}
.element-content {
position: relative;
padding: 10px;