1.分析:
一个心的构成由:两个圆和一个旋转45°的正方形构成
具体的移动方法构成方法没有绝对,只要有足够的想象力,能够做出来就可以。
<body>
<div id="heart">
<div class="left"></div>
<div class="right"></div>
<div class="bottom"></div>
</div>
*{margin:2; padding:0; box-sizing: border-box;}
#heart{
margin:100px;/*移动heart的位置*/
position: relative;/*absolute的定位基准,好调整圆的位置*/
display: inline-block;/*heart大小为完全包含内部元素大小*/
transition: all .5s;/*加一个过度,0.5可以直接缩写成.5*/
}
#heart:hover{
transform: scale(1.5);/*鼠标浮上去放大1.5倍*/
}
#heart>.bottom{
/*正方形*/
width: 50px;
height: 50px;
transform: rotate(45deg);/*正方形旋转45度*/
background: red;
}
#heart>.left{
/*圆*/
width: 50px;
height: 50px;
position: absolute;
bottom: 100%;
right:100%;/*将圆调整到左上角的位置*/
transform:rotate(45deg) translateX(41px);
/*将左上角的方形旋转再往右下角移动,具体移动数值自己不断尝试调整,直到完全贴合*/
border-radius:50% 0 0 50%;/*平时变成圆可以简写成一个50%,此时调整两个角就一个一个试*/
background: red;
}
#heart>.right{
/*圆*/
width: 50px;
height: 50px;
position: absolute;
bottom: 100%;
left: 100%;/*将圆调整到左上角的位置*/
transform:rotate(45deg) translateY(41px);
border-radius:50% 50% 0 0;
background: red;
}
图解:
调整圆移动的位置,translate的数值即可