纯CSS3实现自定义Tooltip边框涂鸦风格的教程

内容摘要
  这是一款用纯CSS3打造的自定义Tooltip边框的应用,之前我们讨论过如何用CSS3来实现不同样式的Tooltip,今天的这款Tooltip却可以用CSS3来自定义边框,边框呈涂鸦风格。用CSS3
文章正文

  这是一款用纯CSS3打造的自定义Tooltip边框的应用,之前我们讨论过如何用CSS3来实现不同样式的Tooltip,今天的这款Tooltip却可以用CSS3来自定义边框,边框呈涂鸦风格。用CSS3实现自定义边框的好处是可以自适应边框内部的文字数量大小。

  下面我们来分享一下实现的方法,主要由HTML代码和CSS代码组成。

  HTML代码:

XML/HTML Code复制内容到剪贴板
  1. <div>  
  2.     <div>  
  3.         <div>CSS3简单实现涂鸦风格边框 Welcome to</div>  
  4.     </div>  
  5. </div>  
  6.   

  HTML代码结构非常简单,仅仅是3个div组成,当然后面的CSS代码才是关键,我们一步步来解说一下。

  CSS代码:

CSS Code复制内容到剪贴板
  1. .wrap {   
  2.     padding:35px 25px;   
  3.     width:450px;   
  4.     margin:40px auto;   
  5.     background:#586786;   
  6.     border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;   
  7.     color:#eee;   
  8.     box-shadow:1px 1px 0px rgba(0, 0, 0, .75)   
  9. }  
  这个CSS代码定义了最外面的边框,利用border-radius实现边框的圆角效果,同时利用了box-shadow实现类微微的阴影效果,不是很明显,你也可以修个属性值来让阴影变得更加明显一点。
CSS Code复制内容到剪贴板
  1. .box {   
  2.     position:relative;   
  3.     background:#fff;   
  4.     border:solid 5px #fff;   
  5.     width:200px;   
  6.     height:100px;   
  7.     margin:0 auto;   
  8.     border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;   
  9.     padding:10px;   
  10.     color:#666;   
  11.     box-shadow:2px 3px 1px rgba(0, 0, 0, .75)   
  12. }   
  13. .box:before {   
  14.     content"";   
  15.     positionabsolute;   
  16.     bottombottom: -20px;   
  17.     left60px;   
  18.     border: 0;   
  19.     border-right-width30px;   
  20.     border-bottom-width20px;   
  21.     border-stylesolid;   
  22.     border-colortransparent #fff;   
  23.     displayblock;   
  24.     width: 0;   
  25. }  

  这个box类和之前的类似,不过多了一个特性,就是利用CSS3的:before属性实现了下边框的小三角效果,这样就有tooltip的效果了。

CSS Code复制内容到剪贴板
  1. .box .box {   
  2.     position:absolute;   
  3.     top:5px;   
  4.     left:5px;   
  5.     width:180px;   
  6.     height:80px;   
  7.     border-color:#593207;   
  8.     box-shadow:none;   
  9. }   
  10. .box .box:before {   
  11.     left45px;   
  12.     border-colortransparent #593207;   
  13. }  

  这是最内部的box,和它外面那层box实现一样,同样利用before属性实现小三角效果。

  其他就是一些边框线颜色和背景颜色的设置,就非常简单了。就不一一写代码了,谢谢阅读,希望能帮到大家,请继续关注phpstudy,我们会努力分享更多优秀的文章。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!