div底部的全宽响应箭头

时间:2016-08-24 15:45:26

标签: css css-shapes

熙!

目前我正在尝试制作以下导航

nav

但最终获得以下

enter image description here

如何降低我在底部添加但保持全宽的箭头的高度?

nav {
  position: relative;
  display: inline-block;
  height: 50px;
  width: 100%;
  text-align: center;
  color: white;
  background: gray;
  line-height: 50px;
  text-decoration: none;
  padding-bottom: 15%;
  background-clip: content-box;
  overflow: hidden;
}
nav:after {
  content: "";
  position: absolute;
  top: 50px;
  left: 0;
  background-color: inherit;
  padding-bottom: 50%;
  width: 57.7%;
  z-index: -1;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: rotate(-30deg) skewX(30deg);
  -ms-transform: rotate(-30deg) skewX(30deg);
  transform: rotate(-30deg) skewX(30deg);
}
<nav>nav</nav>

http://jsfiddle.net/v50wwuw6/

1 个答案:

答案 0 :(得分:8)

使用带有vw单位的边框三角形技术:http://jsfiddle.net/hamop5ca/

30px是箭头高度。

nav {
    position: relative;
    height: 50px;
    width:100%;
    background: gray;
}
nav:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  border-top: 30px solid red;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
}


<nav>nav</nav>