<main>
<div class="btn_base btn_create">
创建你的作品
<div class='speech_bubble'>
Vue 编辑器已上线!快来试试吧!
</div>
</div>
</main>
HTML
格式化
支持Emmet,输入 p 后按 Tab键试试吧!
<head> ... </head>
<body>
</body>
main {
--dark-100: #282827;
--dark-85: rgba(40, 40, 39, .85);
--yellow: yellow;
height: 100vh;
background: #eee;
display: flex;
align-items: center;
justify-content: center;
}
.btn_base {
color: var(--dark-100);
border-radius: 18px;
justify-content: center;
align-items: center;
height: 75px;
padding: 0 45px;
font-size: 20px;
font-weight: 700;
line-height: 1.3;
text-decoration: none;
display: flex;
box-shadow: 0 4px 16px rgba(40, 40, 39, 0.15);
background-color: var(--yellow);
&:hover {
cursor: pointer;
}
}
.btn_create {
position: relative;
perspective: 35em;
.speech_bubble {
position: absolute;
top: -150%;
left: -40%;
margin: .5em auto;
padding: 0 .5em 0 0.8em;
display: flex;
align-items: center;
width: 11em;
height: 4em;
border-radius: .25em;
transform: rotate(-7deg) rotateY(15deg);
background: #629bdd;
text-align: center;
box-shadow: 1px 1px 4px 4px rgba(0, 0, 0, 0.2);
animation: odsoky 2s ease-in-out infinite alternate;
}
@keyframes odsoky {
0% {
transform: rotate(-7deg) rotateY(15deg) translateY(6px);
}
100% {
transform: rotate(-7deg) rotateY(15deg) translateY(1px);
}
}
.speech_bubble:before,
.speech_bubble:after {
position: absolute;
z-index: -1;
content: '';
}
// 白板
.speech_bubble:after {
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: inherit;
transform: rotate(2deg) translate(.35em, -.15em) scale(1.02);
background: #f4fbfe;
}
// 箭头
.speech_bubble:before {
border: solid 0 transparent;
border-right: solid 3.5em #f4fbfe;
border-bottom: solid .25em #629bdd;
bottom: .25em;
left: 1.25em;
width: 0;
height: 1em;
transform: rotate(45deg) skewX(55deg);
box-shadow: 0px 0px 4px 4px rgba(0, 0, 0, 0.2);
}
}