运用CSS3完成气泡实际效果的实例教程

2021-01-20 07:38 jianzhan

最先界定1个

CSS Code拷贝內容到剪贴板
  1. <p class="speech"></p>  

先给外层的器皿加上款式:

CSS Code拷贝內容到剪贴板
  1. p.speech{   
  2. positionrelative;   
  3. width200px;   
  4. height100px;   
  5. text-aligncenter;   
  6. line-height100px;   
  7. background-color#fff;   
  8. border8px solid #666;   
  9. -webkit-border-radius: 30px;   
  10. -moz-border-radius: 30px;   
  11. border-radius: 30px;   
  12. -webkit-box-shadow: 2px 2px 4px #888;   
  13. -moz-box-shadow: 2px 2px 4px #888;   
  14. box-shadow: 2px 2px 4px #888;   
  15. }  

沒有甚么非常繁杂的,关键的关键就在postion:relative,用来精准定位会话浮层的。大家还必须1些Mozilla和webkit的特性来进行圆角和黑影,IE8下列的访问器看不见这些特性,只是显示信息1个框,不危害整体的实际效果。

大家如今必须建立会话浮层下面的那个3角形的指向标示了。不应用照片,大家应用CSS边框来进行这个实际效果。看看下面这个用不一样色调边框进行的实际效果。

大家把高宽比和宽度降低到0px,随后给边框应用不一样的尺寸,看看实际效果:

以便最终能做成标示标示的模样,大家把上边距和左侧距设定为solid,下边距和右侧距设定为全透明:

可是大家把这个放哪呢?还好,大家可使用CSS的伪类:before和:after来转化成,因此:

CSS Code拷贝內容到剪贴板
  1. p.speech:before{   
  2. content' ';   
  3. positionabsolute;   
  4. width: 0;   
  5. height: 0;   
  6. left30px;   
  7. top100px;   
  8. border25px solid;   
  9. border-color#666 transparent transparent #666;   
  10. }  

如今3角形的标志就精准定位在大家的气泡下面了。此外,不必费事去考虑到这个元素的黑影,他会精准定位在全透明界限的周围,而并不是看到的图型的周围。

大家还必须移除3角形的1一部分。大家能够在里边置放1个白色的小3角形来做到这个实际效果。

CSS Code拷贝內容到剪贴板
  1. p.speech:after{   
  2. content' ';   
  3. positionabsolute;   
  4. width: 0;   
  5. height: 0;   
  6. left38px;   
  7. top100px;   
  8. border15px solid;   
  9. border-color#fff transparent transparent #fff;   
  10. }  

大家的不应用照片的会话气泡就进行了:

此外,大家还能够应用:before和:after伪类来做许多别的的事儿,例如,1个思索气泡还可以根据这样方法进行:

最先也是建1个

CSS Code拷贝內容到剪贴板
  1. <p class="thought">I think...</p>  

css编码:

CSS Code拷贝內容到剪贴板
  1. p.thought{   
  2. positionrelative;   
  3. width130px;   
  4. height100px;   
  5. text-aligncenter;   
  6. line-height100px;   
  7. background-color#fff;   
  8. border8px solid #666;   
  9. -webkit-border-radius: 58px;   
  10. -moz-border-radius: 58px;   
  11. border-radius: 58px;   
  12. -webkit-box-shadow: 2px 2px 4px #888;   
  13. -moz-box-shadow: 2px 2px 4px #888;   
  14. box-shadow: 2px 2px 4px #888;   
  15. }  


CSS Code拷贝內容到剪贴板
  1. p.thought:before, p.thought:after{   
  2. content'';   
  3. positionabsolute;   
  4. left10px;   
  5. top70px;   
  6. width40px;   
  7. height40px;   
  8. background-color#fff;   
  9. border8px solid #666;   
  10. -webkit-border-radius: 28px;   
  11. -moz-border-radius: 28px;   
  12. border-radius: 28px;   
  13. z-index:5;   
  14. }  
CSS Code拷贝內容到剪贴板
  1. p.thought:after{   
  2. positionabsolute;   
  3. width20px;   
  4. height20px;   
  5. left5px;   
  6. top100px;   
  7. -webkit-border-radius: 18px;   
  8. -moz-border-radius: 18px;   
  9. border-radius: 18px;   
  10. z-index:6;   
  11. }  

全新完成实际效果: