顶部和底部有双箭头

时间:2015-08-01 15:56:19

标签: css html5

我不是CSS的专家,为了达到我的div的以下形状,我会挣扎:

enter image description here

然后我想在中心插入文字。

我如何获得这种形状?

下面是我的一些尝试:

 <div class="triangle-down-white" style="height:400px;"> 
                    try
                </div>

和css

.triangle-down-white {
    width: 100%;
    height: 0;
    padding-left:50%;
    padding-top: 4%;
    overflow: hidden;
    background: rgba(140,  140,  140, 0.33);

}
.triangle-down-white:before, 
.triangle-down-white:after {
    content: "";
    display: block;
     height: 122px;
     width: 122px;

    margin-left:-1000px;

    border-left: 1000px solid transparent;
    border-right: 1000px solid transparent;
    border-top: 100px solid rgba(140,  140,  140, 0.33);

}



.triangle-down-white:before
{ /* hide arrow tails background */
      border-top: 100px solid white;
}

更新 我添加了新款雪佛龙,但文字出现在div后面。我正在使用bootstrap,html代码如下:

<div class="row"> 
                <div class="col-sm-12" id="chevron">
                <p>asdasdasdasasdaasdsadasadsadsasd</p>
                </div>
            </div>

其余代码完全是bootstrap的标准代码。

解决

我在新元素中添加了z-index:-1。

1 个答案:

答案 0 :(得分:7)

取自this website,这是你想要的雪佛龙形状:

#chevron {
  position: relative;
  text-align: center;
  padding: 12px;
  margin-bottom: 6px;
  height: 60px;
  width: 200px;
}
#chevron:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 51%;
  background: red;
  -webkit-transform: skew(0deg, 6deg);
  -moz-transform: skew(0deg, 6deg);
  -ms-transform: skew(0deg, 6deg);
  -o-transform: skew(0deg, 6deg);
  transform: skew(0deg, 6deg);
}
#chevron:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 50%;
  background: red;
  -webkit-transform: skew(0deg, -6deg);
  -moz-transform: skew(0deg, -6deg);
  -ms-transform: skew(0deg, -6deg);
  -o-transform: skew(0deg, -6deg);
  transform: skew(0deg, -6deg);
}
p{
  position: relative;
  z-index: 1;
}
<div id="chevron"><p>Hello</p></div>