-- 简化版 --
我们需要相同的铅笔图标,没有边框,并使用一个 HTML 标记。最后结果:
JSfiddle 演示:https ://jsfiddle.net/allenski/tx0zyLr8/ (适用于 IE11)。
HTML 代码:
<div class="edit-pencil"></div>
CSS 代码:
.edit-pencil {
position: relative;
display: inline-block;
width: 25px;
height: 36px;
vertical-align: middle;
cursor: pointer;
}
.edit-pencil:before {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-2px, -3px) rotate(-45deg);
width: 3px;
height: 5px;
background-color: #7081a3;
box-shadow: 1px 0px 0px #7081a3, 2px 0px 0px #7081a3, 3px 0px 0px #7081a3, -1px 0px 0px #7081a3, -2px 0px 0px #7081a3, -3px 0px 0px #7081a3, -3.3px 0px 0px #7081a3, 7px 0px 0px #7081a3;
transition: all 300ms;
content: '';
}
.edit-pencil:after {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-9px, 3px) rotate(-45deg);
font-size: 1px;
border: solid 3em transparent;
border-left-width: 0;
border-right-width: 5em;
border-right-color: #7081a3;
transition: all 300ms;
content: '';
}
.edit-pencil:hover:before {
background-color: #333333;
box-shadow: 1px 0px 0px #333333, 2px 0px 0px #333333, 3px 0px 0px #333333, -1px 0px 0px #333333, -2px 0px 0px #333333, -3px 0px 0px #333333, -3.3px 0px 0px #333333, 7px 0px 0px #333333;
}
.edit-pencil:hover:after {
border-right-color: #333333;
}