如何用 html+css 实现平行四边形,以及气泡框呢?
2016-08-01 10:55
363 查看
【效果图】
首先说一下平行四边形,想要做成的效果大致是下面这个样子的
【思路】
如果考虑用昨天的方法,利用 border 边界值,就可以分解成 一个右三角+矩形+上三角(这里右,上的意思指的是需要加上颜色显示的边界颜色),但这样就挺复杂了,所以要换一种方法来做
【做法】
其实利用上次说的 css3 的属性 transform 属性来设置
【注意】
但是这么做,有个注意的地方就是,如果当前盒子里包裹其他内容,这个其他内容也会跟着旋转,所以为了避免这种效果,需要在内部重新加一个盒子,并对这个盒子进行一个逆向的 transform,这样就实现了平行四边形了,也就是一个属性的事情
【思考】
要是个梯形,该怎么做呢?
接下来再说一下怎么制作一个类似 tooltip 的气泡提示框呢?
【效果图】
先看一下大致的效果
【思路】
其实做起来也相当的简单,就是用一个盒子加一个三角形就行,然后控制好定位的问题就可以做到
【做法】
在有一个叫做 rectangle 的盒子,然后在这个盒子里面有一个 trangle 的盒子
然后差不多就可以实现了
【注意】
有一个注意的地方就是 position 的使用,在外部盒子的是一定要使用相对定位的
【思考】
需要做一个不规则的小三角呢?(其实应该是类似的,就是用不同类型的三角形层层的遮罩,或者利用 css3 的2D变换属性来实现)
首先说一下平行四边形,想要做成的效果大致是下面这个样子的
【思路】
如果考虑用昨天的方法,利用 border 边界值,就可以分解成 一个右三角+矩形+上三角(这里右,上的意思指的是需要加上颜色显示的边界颜色),但这样就挺复杂了,所以要换一种方法来做
【做法】
其实利用上次说的 css3 的属性 transform 属性来设置
{ display: inline-block; padding: 5px 20px; border: 1px solid #44a5fc; color: #333; transform: skew(-20deg); /* 定义沿着 X 和 Y 轴的 2D 倾斜转换*/ }
【注意】
但是这么做,有个注意的地方就是,如果当前盒子里包裹其他内容,这个其他内容也会跟着旋转,所以为了避免这种效果,需要在内部重新加一个盒子,并对这个盒子进行一个逆向的 transform,这样就实现了平行四边形了,也就是一个属性的事情
【思考】
要是个梯形,该怎么做呢?
接下来再说一下怎么制作一个类似 tooltip 的气泡提示框呢?
【效果图】
先看一下大致的效果
【思路】
其实做起来也相当的简单,就是用一个盒子加一个三角形就行,然后控制好定位的问题就可以做到
【做法】
在有一个叫做 rectangle 的盒子,然后在这个盒子里面有一个 trangle 的盒子
.rectangle{ position:relative; width:150px; height:35px; background:green; border-radius:5px; margin:30px auto 0; padding: 10px; color:white; } .rectangle .trangle{ position:absolute; top:12px; right:-16px; width:0; height:0; font-size:0; border:solid 8px; border-color:transparent transparent transparent green; }
然后差不多就可以实现了
【注意】
有一个注意的地方就是 position 的使用,在外部盒子的是一定要使用相对定位的
【思考】
需要做一个不规则的小三角呢?(其实应该是类似的,就是用不同类型的三角形层层的遮罩,或者利用 css3 的2D变换属性来实现)
相关文章推荐
- Javascript二:如何实现Javascript/css与HTML的分离
- 如何让HTML在手机上实现直接拨打电话以及发送短信?
- Html/CSS前端如何实现文字边框阴影
- 关于css中树形的开闭以及复选框checkbox如何全选取消的实现
- CSS基础篇--html 空格符号 nbsp; ensp; emsp; 介绍以及实现中文对齐的方法
- css的content属性,以及如何通过css content属性实现css计数器?
- atitit.按钮光标滑过高亮切换以及其他动态效果的实现css html js --attilax总结
- HTML标签类型以及CSS如何改变标签类型
- CSS实现不同的图形(三角形、正方形、圆形、平行四边形)
- 使用原生JavaScript的Canvas实现拖拽式图形绘制,支持画笔、线条、箭头、三角形、矩形、平行四边形、梯形以及多边形和圆形,不依赖任何库和插件,有演示demo
- HTML+CSS实现合并图片的切割显示以及背景渲染
- CSS - 如何实现强制不换行、自动换行、强制换行 以及 chrom默认焦点 IE下 Input 默认出现叉
- CSS实现不同的图形(三角形、正方形、圆形、平行四边形)
- 用 CSS 实现三角形与平行四边形
- css实现聊天气泡以及形状--边框法
- HTML开发——项目心得(CSS实现导航栏选项卡炫酷渐变效果以及图片替换文本显示)
- 如何用CSS实现带三角箭头的气泡
- CSS实现不同的图形(三角形、正方形、圆形、平行四边形)
- java实现html转pdf,支持中文,css以及中文换行
- atitit.按钮光标滑过高亮切换以及其他动态效果的实现css html js --attilax总结