html 带箭头的提示框,带箭头提示框总结实例

39367a83f52342a86dd3e5bfc7fba236.png

无论是提示框还是导航栏都能看到如上图所示的带有箭头的框框,这种箭头可以通过背景图片或者是css来实现,本文介绍三种通过css实现带箭头的提示框。

通过border属性

思路:两个三角形,通过定位使两个三角形相差1px作为边框。

CSS3 transfrom

思路:先做一个两条边相同颜色的正方形,然后旋转一定角度就是三角形了

特殊字符'♦'

思路:特殊字符漏出上半部分,看上去就像三角形了

一、通过border属性:

我们先做一个宽和高都是10px的div,边框也是10px,

1 width: 10px;2 height: 10px;3 border: 10px solid;4 border-color: red green yellow blue;

如下图:

5c4f56dfc7e84ee2540d1596a0c70ca2.png

图中间空白是我们设置的宽和高,如果设置为0px,会出现什么情况呢?,如下图:

a72d72537e2347f88d1bde01fabfbed8.png

这时候我们就可以通过设置它的左右和下边框的颜色都设成透明或和背景颜色相同的颜色,就出来我们想要的三角形了。如下图:

0311331072d8b1f55f640f2568194652.png

现在我们来实现第一幅图上的效果:

css:

69c5a8ac3fa60e0848d784a6dd461da6.png

1 .info{

2 margin-top:50px;

3 position:relative;

4 width:200px;

5 height:50px;

6 line-height:60px;

7 background:#F6F1B3;

8 box-shadow:1px 2px 3px #E9D985;

9 border:1px solid #DACE7C;

10 border-radius:4px;

11 text-align:center;

12 color:red;

13 }

14 .nav{

15 position:absolute;

16 left:30px;

17 overflow:hidden;

18 width:0;

19 height:0;

20 border-width:10px;

21 border-style:solid dashed dashed dashed;

22 }

23 .nav-border{

24 top:-20px;

25 border-color:transparent transparent #DACE7C transparent;

26 }

27 .nav-background{

28 top:-19px;

29 border-color:transparent transparent #F6F1B3 transparent;

30 }

69c5a8ac3fa60e0848d784a6dd461da6.png

html:

1

2 提示信息span>

3 div>

4 div>

5 div>

二、 CSS3 transfrom

我们首先制作一个两条相邻的边框颜色相同,其他两条边边框为0px的div方框。如图:

ec26c1c08d059b201e574a953e06119b.png

在将方框旋转45度就可以实现三角提示效果了。

css:

69c5a8ac3fa60e0848d784a6dd461da6.png

1 .info{

2 margin-top:50px;

3 position:relative;

4 width:200px;

5 height:50px;

6 line-height:60px;

7 background:#F6F1B3;

8 box-shadow:1px 2px 3px #E9D985;

9 border:1px solid #DACE7C;

10 border-radius:4px;

11 text-align:center;

12 color:red;

13 }

14 .nav{

15 position:absolute;

16 top:-8px;

17 left:30px;

18 overflow:hidden;

19 width:13px;

20 height:13px;

21 background:#F6F1B3;

22 border-left:1px solid #DACE7C;

23 border-top:1px solid #DACE7C;

24 -webkit-transform:rotate(45deg);

25 -moz-transform:rotate(45deg);

26 -o-transform:rotate(45deg);

27 transform:rotate(45deg);

28 }

69c5a8ac3fa60e0848d784a6dd461da6.png

html:

1

2 提示信息span>

3 div>

4 div>

三、特殊字符'♦'

'♦'是一个特殊字符,也就相当于一个字,所以大小是通过font-size来设置,实现第一幅图的效果:

css:

69c5a8ac3fa60e0848d784a6dd461da6.png

1 .info{

2 margin-top:50px;

3 position:relative;

4 width:200px;

5 height:50px;

6 line-height:60px;

7 background:#F6F1B3;

8 box-shadow:1px 2px 3px #E9D985;

9 border:1px solid #DACE7C;

10 border-radius:4px;

11 text-align:center;

12 color:red;

13 }

14 .nav{

15 position:absolute;

16 left:30px;

17 overflow:hidden;

18 width:24px;

19 height:24px;

20 font:normal 24px "微软雅黑";

21 }

22 .nav-border{

23 top:-17px;

24 color:#DACE7C;

25 }

26 .nav-background{

27 top:-16px;

28 color:#F6F1B3;

29 }

69c5a8ac3fa60e0848d784a6dd461da6.png

html:

1

2 提示信息span>

3 ♦div>

4 ♦div>

5 div>

下面是一个兼容IE5.5+,chrome,Firfox等浏览器的一个demo,如果你有用到可以直接考到自己的项目中。

69c5a8ac3fa60e0848d784a6dd461da6.png

1 DOCTYPE html>

2

3

4

title>

5

6

7 div.container{

8 position:absolute;

9 top:30px;

10 left:40px;

11 font-size:9pt;

12 display:block;

13 height:100px;

14 width:200px;

15 background-color:transparent;

16 *border:1px solid #666;

17 }

18 s{

19 position:absolute;

20 top:-20px;

21 *top:-22px;

22 left:20px;

23 display:block;

24 height:0;

25 width:0;

26 font-size:0;

27 line-height:0;

28 border-color:transparent transparent #666 transparent;

29 border-style:dashed dashed solid dashed;

30 border-width:10px;

31 }

32 i{

33 position:absolute;

34 top:-9px;

35 *top:-9px;

36 left:-10px;

37 display:block;

38 height:0;

39 width:0;

40 font-size:0;

41 line-height:0;

42 border-color:transparent transparent #fff transparent;

43 border-style:dashed dashed solid dashed;

44 border-width:10px;

45 }

46 .content{

47 border:1px solid #666;

48 -moz-border-radius:3px;

49 -webkit-border-radius:3px;

50 position:absolute;

51 background-color:#fff;

52 width:100%;

53 height:100%;

54 padding:5px;

55 *top:-2px;

56 *border-top:1px solid #666;

57 *border-top:1px solid #666;

58 *border-left:none;

59 *border-right:none;

60 *height:102px;

61 box-shadow:3px 3px 4px #999;

62 -moz-box-shadow:3px 3px 4px #999;

63 -webkit-box-shadow:3px 3px 4px #999;

64 /*For IE 5.5 - 7*/

65 filter:progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#999999');

66 /*For IE 8*/

67 -ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#999999')";

68 }

69 style>

70 head>

71

72

73

74 hello world!75 div>

76

77 i>

78 s>

79 div>

80 body>

81 html>

69c5a8ac3fa60e0848d784a6dd461da6.png

效果图:

52122d4922148d0030c89ea3d30b6f22.png

小结:

带箭头的提示框给用户的交互带来很好的效果,本文介绍了三个方法,如果你还有其他方法可以@me,我会非常感激。希望本文能够对你有些帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值