css实现多角度对话框对话气泡语音气泡效果代码
代码语言:html
所属分类:布局界面
代码描述:css实现多角度对话框对话气泡语音气泡效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> [speech-bubble], [speech-bubble] * { box-sizing: border-box } [speech-bubble]{ --bbColor: grey; --bbArrowSize: 1.5rem; --bbBorderRadius: 0.25rem; --bbPadding: 1rem; background: var(--bbColor); border-radius: var(--bbBorderRadius); padding: var(--bbPadding); position: relative; } [speech-bubble]::before{ content: ''; position: absolute; background: var(--bbColor); } [speech-bubble][pbottom]{ margin-bottom: var(--bbArrowSize) } [speech-bubble][ptop] { margin-top: var(--bbArrowSize); } [speech-bubble][pleft] { margin-left: var(--bbArrowSize); } [speech-bubble][pright] { margin-right: var(--bbArrowSize); } /* bottom and top */ [speech-bubble][pbottom]::before, [speech-bubble][ptop]::before{ --width: calc(var(--bbArrowSize) / 2 * 3); height: var(--bbArrowSize); width: var(--width); } /* bottom */ [speech-bubble][pbottom]::before{ top: calc(100% - 2px); } [speech-bubble][pbottom][aleft]::before{ left: 1rem; clip-path: polygon(25% 0, 100% 0, 0% 100%) } [speech-bubble][pbottom][acenter]::before{ left: calc(50% - var(--width) / 2); clip-path: polygon(12.5% 0, 87.5% 0, 50% 100%) } [speech-bubble][pbottom][aright]::before{ right: 1rem; clip-path: polygon(0 0, 75% 0, 100% 100%) } /* top */ [speech-bubble][ptop]::before{ bottom: calc(100% - 2px); } [speech-bubble][ptop][aleft]::before{ left: var(--bbPadding); clip-path: polygon(0 0, 100% 100%, 25% 100%) } [speech-bubble][ptop][acenter]::before{ left: calc(50% - var(--width) / 2); clip-path: polygon(12.5% 100%, 50% 0, 87.5% 100%) } [speech-bubble][ptop][aright]::before{ right: var(--bbPadding); clip-path: polygon(0 100%, 100% 0, 75% 100%) } /* left and right */ [speech-bubble][pleft]::before, [speech-bubble][pright]::before{ --height: calc(var(--bbArrowSize) / 2 * 3); width: var(--bbArrowSize); height: var(--height); } /* right */ [speech-bubble][pright]::before{ left: calc(100% - 2px); } [speech-bubble][pright][atop]::before{ top: var(--bbPadding); clip-path: polygon(100% 0, 0 100%, 0 25%) } [speech-bubble][pright][acenter]::before{ top: calc(50% - var(--height) / 2); clip-path: polygon(0 12.5%, 100% 50%, 0 87.5%) } [speech-bubble][pright][abottom]::bef.........完整代码请登录后点击上方下载按钮下载查看
网友评论0