一个非常古老的(未回答的问题)值得一个答案。
您可以使用嵌套的 div 元素,其中父元素的溢出设置为隐藏,而子元素则旋转。
这是一个基本示例:(请注意:仅演示需要 jQuery)
$('.tri').click(function() {
alert("triangle clicked!");
});Run Code Online (Sandbox Code Playgroud)
.wrap {
height: 200px;
width: 200px;
position: relative;
overflow: hidden;
margin: 2px auto;
}
.wrap .tri {
position: absolute;
height: 70%;
width: 70%;
background: tomato;
transform-origin: bottom left;
bottom: 0;
transition: all 0.6s;
left: 0;
cursor: pointer;
transform: rotate(45deg);
}
.wrap2 {
transform: rotate(180deg);
}
.wrap .tri:hover {
background: black;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrap">
<div class="tri"></div>
</div>
<div class="wrap wrap2">
<div class="tri"></div>
</div>Run Code Online (Sandbox Code Playgroud)