CSS3制作三角TIP框
发布于
大漠
sofish在《CSS quiz: 带边 border 的三角形》制作介绍了使用border制作三角的兼容方案,很实用的一个东东。目前这种效果在Web中的运用是越来越多,有很多同学也想尽办法:有使用图片的,有使用border的,当然还有使用其他方法的。今天我要为大家介绍的是使用“::after”和"::before"配合border制作带边三角提示框,并为大家推荐一个在线制作工具。只不过这种方法不兼容IE8以及其以下的浏览器。如果要兼容IE,建议使用sofish的方法。
别的不多说,直接上代码:
HTML Code
<div class="arrow_box top"></div> <div class="arrow_box right"></div> <div class="arrow_box bottom"></div> <div class="arrow_box left"></div>
CSS Code
.arrow_box {
position: relative;
background: #88b7d5;
border: 1px solid #c2e1f5;
padding: 10px;
width: 200px;
height: 100px;
border-radius: 6px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
margin: 30px;
float: left;
}
.arrow_box::after,
.arrow_box::before {
position:absolute;
content:"";
height:0;
width: 0;
pointer-events: none;
border: solid transparent;
}
/*top*/
.arrow_box.top::after,
.arrow_box.top::before {
bottom: 100%;
}
.arrow_box.top::after {
border-color: rgba(136, 183, 213, 0);
border-bottom-color: #88b7d5;
border-width: 10px;
left: 50%;
margin-left: -10px;
}
.arrow_box.top::before {
border-color: rgba(194, 225, 245, 0);
border-bottom-color: #c2e1f5;
border-width: 11px;
left: 50%;
margin-left: -11px;
}
/*right*/
.arrow_box.right::after,
.arrow_box.right::before {
left: 100%;
}
.arrow_box.right::after {
border-color: rgba(136, 183, 213, 0);
border-left-color: #88b7d5;
border-width: 10px;
top: 50%;
margin-top: -10px;
}
.arrow_box.right::before {
border-color: rgba(194, 225, 245, 0);
border-left-color: #c2e1f5;
border-width: 11px;
top: 50%;
margin-top: -11px;
}
/*bottom*/
.arrow_box.bottom::after,
.arrow_box.bottom::before {
top: 100%;
}
.arrow_box.bottom::after {
border-color: rgba(136, 183, 213, 0);
border-top-color: #88b7d5;
border-width: 10px;
left: 50%;
margin-left: -10px;
}
.arrow_box.bottom::before {
border-color: rgba(194, 225, 245, 0);
border-top-color: #c2e1f5;
border-width: 11px;
left: 50%;
margin-left: -11px;
}
/*left*/
.arrow_box.left::after,
.arrow_box.left::before {
right: 100%;
}
.arrow_box.left::after {
border-color: rgba(136, 183, 213, 0);
border-right-color: #88b7d5;
border-width: 10px;
top: 50%;
margin-top: -10px;
}
.arrow_box.left::before {
border-color: rgba(194, 225, 245, 0);
border-right-color: #c2e1f5;
border-width: 11px;
top: 50%;
margin-top: -11px;
}
这里向大家推荐一个在线制作工个:CSS ARROW PLEASE!
扩展阅读:
- CSS制作图形速查表
- 纯CSS制作的图形效果
- 纯css三角效果代码
- Pure CSS speech bubbles
- CSS Quick Tip: CSS Arrows and Shapes Without Markup
- the best pure CSS3 iOS style arrow “Back” button
- CSS常用浮出层的写法
- Speech Bubble Arrows that Inherit Parent Color
- Style a Select Box Using Only CSS
- nudgenudge
- How to Make a Pure CSS Speech Bubble With a Drop Shadow
- Creating Triangles in CSS
如需转载,烦请注明出处:https://www.fedev.cn/demo/cssarrowplease.html
Air Foamposite One Glowing
