分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

用CSS写气泡

发布时间:2023-09-06 01:27责任编辑:苏小强关键词:CSS

新学到的一个小效果

用CSS实现如下图效果,其中demo结构为:<div id=”square”></div>

实现这个效果需要用到两个知识点:

1、用border制作三角形

2、before、after伪元素

伪类元素可以看做是在某元素前加了一个元素

比如:<p>刘诗诗</p>

     如果给这个元素设置一个before,  p:before{content:”我爱”;},这个p就变成了:我爱刘诗诗

     如果给这个元素设置一个after,  p:after{content:”我爱”;},这个p就变成了:刘诗诗爱我

(ps:哈哈,这样有点不要脸,但是我爱刘诗诗!)

回到题目上,这个效果就是先画一个矩形,然后通过after或者before加上一个三角形,放到矩形右上角去。

那么如何用边框画三角形呢?

举例演示给大家:

代码如下:写一个p标签,给其设置如下样式

p{ ???????????????width:50px; ???????????????height:30px; ???????????????border-left:20px solid yellow; ???????????????border-right:20px solid blue; ???????????????border-top:20px solid red; ???????????????border-bottom:20px solid pink; ???????????????margin:100px auto; ???????????}

效果如图:

若此时,我们将p的宽高设为0px,效果如图:

不难发现,只要在这个基础上将边框的三面颜色设置为透明,就能得到一个三角形。

但有一点是,矩形是缺了一段的,我们可以让三角形颜色为白色覆盖掉矩形的边框,另外再用一个黑色的,比白色大的三角形放在白三角形的下面,这样就只漏出三角形的两条边了,所以这里同时用到了after和before,代码如下

#square{ ???????????????width:200px; ???????????????height:100px; ???????????????border:2px solid black; ???????????????margin:20px auto; ???????????????position:relative; ???????????} ???????????#square:before{ ???????????????content:""; ???????????????width:0px; ???????????????height:0px; ???????????????border:10px solid transparent; ???????????????border-left-color:black; ???????????????position:absolute; ???????????????top:20px; ???????????????left:200px; ???????????} ???????????#square:after{ ???????????????content:""; ???????????????width:0px; ???????????????height:0px; ???????????????border:8px solid transparent; ???????????????border-left-color:white; ???????????????position:absolute; ???????????????top:22px; ???????????????left:200px; ???????????}

这样就实现效果啦!

用CSS写气泡

原文地址:http://www.cnblogs.com/libijun96/p/7906488.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved