如何在div标签上添加有边框的三角形

时间:2013-04-26 13:04:14

标签: css3 html css

我有一个div标签,

 __________
|          |    
|          |    
|          |    
|__________|

我想在它上面添加一个小三角形。

 _______/\_
|          |    
|          |    
|          |    
|__________|

注意:我希望我的div标签具有某种颜色的边框,而另一种颜色则是div。比方说,我的div背景是白色的,边框应该是蓝色的。 请看到这个。 http://fiddle.jshell.net/pausP/

4 个答案:

答案 0 :(得分:28)

http://cssarrowplease.com/处使用带有指针和阴影的初始框,您可以重新设置它们以制作您想要的形状:

.arrow_box {
  top: 40px;
  position: relative;
  background: #ffffff;
  border: 1px solid #719ECE;  /*set border colour here*/
  width: 200px;
  height: 200px;
  border-radius: 3px;
  -webkit-filter: drop-shadow(0 1px 10px rgba(113, 158, 206, 0.8)); /*set shadow colour  and size here*/
  -moz-box-shadow: 0 1px 10px rgba(113, 158, 206, 0.8);
  filter: drop-shadow(0 1px 10px rgba(113, 158, 206, 0.8));
}

.arrow_box:after,
.arrow_box:before {
  bottom: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.arrow_box:after {
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #ffffff;
  border-width: 19px;
  left: 50%;
  margin-left: -19px;
}

.arrow_box:before {
  border-color: rgba(113, 158, 206, 0);
  border-bottom-color: #719ECE;
  border-width: 20px;
  left: 50%;
  margin-left: -20px;
}
<div class="arrow_box">
</div>

如果您需要向右移动箭头,那么只需使用left .arrow_box:after.arrow_box:before

的{{1}}

答案 1 :(得分:-1)

&#34; Pete&#34;的回答上面http://fiddle.jshell.net/pausP/3/显示了如何做到这一点,也可以参考一些参数来看看事情是如何运作的。而对于那些不能很好地理解其工作原理的人来说,阅读这篇文章,展示三角形是如何制作的,来自边界(我的意思是原理)。 https://css-tricks.com/snippets/css/css-triangle

然后它只是在使用之前和之后使用,我们可能只使用一个取决于我们想要的东西,实际上之前用于制作蓝色三角形,在白色三角形之后它们叠加在一个上面另外,使用1px diff以便在三角形中包含该边框,但如果不需要,那么您可以使用之前的例如。 (您可以稍微改变之前的边距,看看它是怎样的)。跳是有帮助的。

答案 2 :(得分:-2)

您可以在图形编辑器中创建三角形图像,然后将该图像放入DIV,然后通过绝对定位DIV并设置TOP和LEFT坐标将该DIV浮动到固定坐标。

答案 3 :(得分:-2)

首先你必须制作一个像/ \的图像,你想要一个边框颜色,然后将.png图像保存为你喜欢的位置,然后移动到css代码来定位该图像,所以使用下面的代码:

  

背景图像:网址(图像/ triangle_img.png);   背景重复:不重复;   背景位置:顶部;

使用指定的div样式添加此代码。而我只是给代码放置一个带分割边框的三角形边框