用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写气泡的更多相关文章
- 纯CSS写三角形-border法
(1)有边框的三角形 我们来写下带边框的三角形. 如果是一个正方形,我们写边时,会用到border,但我们这里讨论的三角形本身就是border,不可能再给border添加border属性,所以我们需要 ...
- CSS三角形/气泡的实现原理及应用
记得第一次面试,面试官问如何用css实现一个不规则三角形?好叭 ·-·,触及到知识盲区了,手动叹气(╥﹏╥),好在别的回答的还好,没挂
- CSS Icon 项目地址 小图标-用css写成的
http://cssicon.space/#/icon/focus 这是所有用css写成的 小图标 右侧有 html和css代码
- css写出0.5px边框(一)
在移动端会出现线条太粗的现象,简单来说,是因为手机端的像素单位和ui的图比例是2:1,所以ui图的1px边框对我们来说就是0.5px,但是浏览器渲染的最小单位就是1px,下面给几种方法用css写出0. ...
- css写宽为30%的正方形
如何用纯css写一宽为30%的正方形,用到了padding属性: 会不会恍然大悟呢? <!DOCTYPE html> <html lang="en"> &l ...
- CSS Devices可以让你在线直接获取使用CSS写的Mobile外形。
CSS Devices可以让你在线直接获取使用CSS写的Mobile外形. CSS Devices 彩蛋爆料直击现场
- 还在为小三角形切图?使用纯CSS写一个简单的三角形
同学们,当美工给的设计图是这样: 或者这样: 我的内心其实是拒绝的-_-:但工作还得干,大部分同学会写 <style> .icon{width:20px;height:20px;displ ...
- css写出三角形(兼容IE)
css写出三角形 利用css写三角形,兼容IE7 .arrow-up { width:0px; height:0px; border-left:10px solid transparent; bo ...
- 纯CSS箭头,气泡
原文地址: CSS Triangles 演示地址:CSS Triangles Demo 原文日期: 2013年8月5日 翻译日期: 2013年8月9日 本文两种实现方式: 使用或不使用 before ...
随机推荐
- centos7下固定IP(静态IP)网络配置
关于centos下网络配置(这里使用静态IP方法) 动态ip网络配置可参考我的另一篇博文http://www.cnblogs.com/albertrui/p/7811868.html 1.编辑/etc ...
- LevelDB的源码阅读(二) Open操作
在Linux上leveldb的安装和使用中我们写了一个测试代码,内容如下: #include "leveldb/db.h" #include <cassert> #in ...
- js实现黑客帝国文字下落效果
突然想到这个效果便想实现以下. 当然免不了要百度一下,于是查找到 http://www.cnblogs.com/myvin/p/4775152.html这篇文章, 效果可以查看博文中的给出的效果图.那 ...
- promise间隔时间添加dom
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- 大搜车知乎live中的面试题结题方法记录
1.HTML&CSS(分别10分) 1. 一个div,宽度是100px,此时设置padding是20px,添加一个什么css属性可以让div的实际宽度仍然保持在100px,而不是140px? ...
- BZOJ:4873: [Shoi2017]寿司餐厅
4873: [Shoi2017]寿司餐厅 首先很开心在膜你赛的时候做了出来. 看到数据范围,看到不能dp,看到贡献去重后计算,咦,流? 那就容易了,转最大权闭合子图,每个区间建一个点,取了就一定要取他 ...
- UVALive3882-And Then There Was One-约瑟夫问题-递推
And Then There Was One Time limit: 3.000 seconds Let's play a stone removing game. Initially, n ston ...
- Trees on the level(指针法和非指针法构造二叉树)
Trees on the level Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 属性getter和setter
我们知道,对象属性是由名字.值和一组特性(attribute)构成的.在ECMAScript5 中,属性值可以用一个或两个方法替代,这两个方法就是getter和setter.由getter和sette ...
- 地图API地址 百度地图开放平台
http://lbsyun.baidu.com/index.php?title=jspopular