如何用CSS创建带尖头的div

时间:2014-11-19 13:01:39

标签: html css css-shapes

我已经看到许多远程相关的线程基本上建议在:: after或::之前的CSS三角形,但没有一个真正淘汰。我把它扔掉,看看是否有人有任何想法。

我希望创建一个带尖头或斜顶的div,它仍然保持一个统一的边框和盒子阴影与div的其余部分。

请参阅链接,了解我尝试创建的图片:

enter image description here

2 个答案:

答案 0 :(得分:2)

如果你不想使用图像,你可以做这样的事情。但在这种情况下使用图像会更容易。

body {
    background-color: #CCC;
}

.wrapper {
    
}

.outer {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 205px 32px 205px;
    border-color: transparent transparent #ffffff transparent;
    position: absolute;
}

.inner {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 200px 32px 200px;
    border-color: transparent transparent #ea2225 transparent;
    margin-left: -200px;
    margin-top: 5px;
    position: absolute;
}

.fix {
    background-color: #FFF;
    height: 10px;
    width: 410px;
    position: absolute;
    margin-top: 32px;
}

.red {
    width: 396px;
    height: 300px;
    background-color: #ea2225;
    margin-top: 37px;
    position: absolute;
    border-left: 7px solid #FFF;
    border-right: 7px solid #FFF;
    border-bottom: 6px solid #FFF;
-webkit-box-shadow: 3px 5px 5px 0px rgba(48,48,48,1);
-moz-box-shadow: 3px 5px 5px 0px rgba(48,48,48,1);
box-shadow: 3px 5px 5px 0px rgba(48,48,48,1);
}
<div class="wrapper">
     <div class="fix"></div>
<div class="outer">
   
  <div class="inner"> 
    
  </div>
    
</div>
  
</div>
   <div class="red"></div>

请参阅http://jsfiddle.net/0csqog8s/

答案 1 :(得分:1)

this应该让你开始:

更新

This is an updated fiddle表现得更好。

&#13;
&#13;
.first {
  display: inline-block;
  width: 3em;
  height: 3em
}
.second {
  position: relative;
  display: inline-block;
  width: 3em;
  height: 3em
}
.third {
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  line-height: 0;
  border: 1.5em solid transparent;
  margin-top: -1em;
  border-bottom: 1em solid #007BFF;
  left: 0em;
  top: 0em
}
.forth {
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  line-height: 0;
  border: 1.5em solid #007BFF;
  border-bottom: 1.5em solid #007BFF;
  left: 0em;
  top: 1.5em
}
&#13;
<span class="first"><span class="second"><i class="third"></i><i class="forth"></i></span></span>
&#13;
&#13;
&#13;