效果图
技术要点- 相对定位 position: relative; 是以自身元素作为参考目标进行移动的,原有位置是保存的,俗称不脱标。
- 绝对定位,position: absolute;是以有定位的最近的父元素为参考目标进行移动,如果父元素没有定位就寻找父元素的父元素,直到找到最近的为止,如果都找不到,则以浏览器为参考目标进行移动,绝对定位是不占有原有位置,俗称脱标。
- 伪元素选择器
::before 元素的开始位置,在指定的选择器之前插入一段内容。插入的内容默认为“行内元素”,可以通过“display”强制转换显示类型,必须要结合content使用
::after元素的结束位置,在指定的选择器之后插入一段内容,使用方式和“:before”一样。插入的内容默认也是为“行内元素”,同样可以通过“display”强制转换显示类型,必须要结合content使用
源代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>画心形</title>
<style type="text/css">
.heart{
width: 100px;
height: 90px;
position: relative;
margin: 100px auto;
}
.heart::before{
content: '';
position: absolute;
width: 50px;
height: 80px;
background-color: red;
border-radius: 50px 40px 0px 0px;
transform-origin: 0 100%;
transform: rotate(-45deg);
left: 50px;
}
.heart::after{
content: '';
position: absolute;
width: 50px;
height: 80px;
background-color: red;
border-radius: 50px 40px 0px 0px;
transform-origin: 100% 100%;
transform: rotate(45deg);
}
</style>
</head>
<body>
<div class="heart"></div>
</body>
</html>