93 lines
2.3 KiB
HTML
93 lines
2.3 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>CSS Transition of SVG elements</title>
|
|
|
|
<style type="text/css" media="screen">
|
|
div {
|
|
-webkit-box-sizing: border-box;
|
|
}
|
|
|
|
.column {
|
|
margin: 10px;
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
}
|
|
.container {
|
|
position: relative;
|
|
height: 200px;
|
|
width: 200px;
|
|
margin: 10px;
|
|
background-color: silver;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.box {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
height: 60px;
|
|
width: 60px;
|
|
border: 1px dotted black;
|
|
-webkit-transform-origin: top left; /* to match SVG */
|
|
}
|
|
|
|
.final {
|
|
border: 1px solid blue;
|
|
}
|
|
|
|
#target, #ref {
|
|
-webkit-transition-property: -webkit-transform;
|
|
-webkit-transition-duration: 1s;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
var flag = true;
|
|
|
|
function transition() {
|
|
var svgElm = document.getElementById("target");
|
|
var divElm = document.getElementById("ref");
|
|
|
|
if (flag) {
|
|
svgElm.style.webkitTransform = "translate(75px, 25px) scale(2) rotate(45deg)";
|
|
divElm.style.webkitTransform = "translate(75px, 25px) scale(2) rotate(45deg)";
|
|
}
|
|
else {
|
|
svgElm.style.webkitTransform = "translate(0px, 0px) scale(1) rotate(0deg)";
|
|
divElm.style.webkitTransform = "translate(0px, 0px) scale(1) rotate(0deg)";
|
|
}
|
|
flag = !flag;
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h1>CSS Transition of "-webkit-trasform" property for SVG elements</h1>
|
|
|
|
<p>The element below should transition when button is clicked</p>
|
|
<p>The SVG transition should be identical with the CSS one</p>
|
|
|
|
<input type="button" value="Transition" onclick="transition()" />
|
|
|
|
<div class="column">
|
|
<h2>SVG compound</h2>
|
|
<div class="container">
|
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
|
|
viewBox="0 0 200 200" style="width:200px; height:200px;">
|
|
<rect id="target" x="0" y="0" width="60" height="60" stroke="blue" fill="none">
|
|
</rect>
|
|
</svg>
|
|
</div>
|
|
|
|
<h2>CSS compound</h2>
|
|
<div class="container">
|
|
<div class="final box" id="ref">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html> |