我喜欢在div内居中放置CSS3六角形(请看下面的屏幕截图)。我使用Foundation Framework,因此Hexagon由列包装器包装(在这种情况下,类为“ warpper”)。

我的CSS:

.wrapper {
    width: 1000px;
}

.hexagon {
  position: relative;
  width: 300px;
  height: 173.21px;
  margin: 86.60px 0;
  background-image: url(http://csshexagon.com/img/meow.jpg);
  background-size: auto 346.4102px;
  background-position: center;
}

.hexTop,
.hexBottom {
  position: absolute;
  z-index: 1;
  width: 212.13px;
  height: 212.13px;
  overflow: hidden;
  -webkit-transform: scaleY(0.5774) rotate(-45deg);
  -ms-transform: scaleY(0.5774) rotate(-45deg);
  transform: scaleY(0.5774) rotate(-45deg);
  background: inherit;
  left: 43.93px;
}

/*counter transform the bg image on the caps*/
.hexTop:after,
.hexBottom:after {
  content: "";
  position: absolute;
  width: 300.0000px;
  height: 173.20508075688775px;
  -webkit-transform:  rotate(45deg) scaleY(1.7321) translateY(-86.6025px);
  -ms-transform:      rotate(45deg) scaleY(1.7321) translateY(-86.6025px);
  transform:          rotate(45deg) scaleY(1.7321) translateY(-86.6025px);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  background: inherit;
}

.hexTop {
  top: -106.0660px;
}

.hexTop:after {
  background-position: center top;
}

.hexBottom {
  bottom: -106.0660px;
}

.hexBottom:after {
  background-position: center bottom;
}

.hexagon:after {
  content: "";
  position: absolute;
  top: 0.0000px;
  left: 0;
  width: 300.0000px;
  height: 173.2051px;
  z-index: 2;
  background: inherit;
}


我在JSFiddle上的完整代码:http://jsfiddle.net/oa0j4ba8/1/

最佳答案

您可以将auto添加到margin working demo

.hexagon {
  position: relative;
  width: 300px;
  height: 173.21px;
  margin: 86.60px auto;/*replace 0 with auto here*/
  background-image: url(http://csshexagon.com/img/meow.jpg);
  background-size: auto 346.4102px;
  background-position: center;
}

关于html - 中心CSS3六 Angular 形,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28890036/

10-10 23:20