转换十六进制上的溢出和div容器大小问题

时间:2015-05-07 14:14:46

标签: html css html5 css-transforms

我试图创建一系列的六角形,6个六角形,超过2行,每个都有3个六角形。我found a solution on how to do this on SO,但是当我按照上面的数字实现它时,category div会切断底部的底部。

溢出:none显示了hexes,但随后我将遇到页面其余部分的问题。有人能告诉我我做错了什么/我需要解决的问题。我一直在努力工作几个小时没有运气。

另请注意,如果我复制其中一个<li>段以创建第7个十六进制,那么category div的高度是正确的,并且没有溢出。非常混乱。

Codepen代码段: http://codepen.io/anon/pen/RPWOQz?editors=110

SO编辑器上的代码:

body {
  font-family: 'Open Sans', arial, sans-serif;
  background: rgb(123, 158, 158);
}
* {
  margin: 0;
  padding: 0;
}
#categories {
  overflow: hidden;
  width: 30%;
  margin: 0 auto;
}
.clr:after {
  content: "";
  display: block;
  clear: both;
}
#categories li {
  position: relative;
  list-style-type: none;
  width: 27.85714285714286%;
  /* = (100-2.5) / 3.5 */
  padding-bottom: 32.16760145166612%;
  /* =  width /0.866 */
  float: left;
  overflow: hidden;
  visibility: hidden;
  -webkit-transform: rotate(-60deg) skewY(30deg);
  -ms-transform: rotate(-60deg) skewY(30deg);
  transform: rotate(-60deg) skewY(30deg);
}
#categories li:nth-child(3n+2) {
  margin: 0 1%;
}
#categories li:nth-child(6n+4) {
  margin-left: 0.5%;
}
#categories li:nth-child(6n+4),
#categories li:nth-child(6n+5),
#categories li:nth-child(6n+6) {
  margin-top: -6.9285714285%;
  margin-bottom: -6.9285714285%;
  -webkit-transform: translateX(50%) rotate(-60deg) skewY(30deg);
  -ms-transform: translateX(50%) rotate(-60deg) skewY(30deg);
  transform: translateX(50%) rotate(-60deg) skewY(30deg);
}
#categories li * {
  position: absolute;
  visibility: visible;
}
#categories li > div {
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  overflow: hidden;
  -webkit-transform: skewY(-30deg) rotate(60deg);
  -ms-transform: skewY(-30deg) rotate(60deg);
  transform: skewY(-30deg) rotate(60deg);
  -webkit-backface-visibility: hidden;
}
/* HEX CONTENT */

#categories li img {
  left: -100%;
  right: -100%;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
#categories div h1,
#categories div p {
  width: 90%;
  padding: 0 5%;
  background-color: #008080;
  background-color: rgba(0, 128, 128, 0.8);
  font-family: 'Raleway', sans-serif;
  -webkit-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
  -ms-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
  transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
}
#categories li h1 {
  bottom: 110%;
  font-style: italic;
  font-weight: normal;
  font-size: 1.5em;
  padding-top: 100%;
  padding-bottom: 100%;
}
#categories li h1:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -1px;
  left: 45%;
  width: 10%;
  text-align: center;
  z-index: 1;
  border-bottom: 2px solid #fff;
}
#categories li p {
  padding-top: 50%;
  top: 110%;
  padding-bottom: 50%;
}
/* HOVER EFFECT  */

#categories li div:hover h1 {
  bottom: 50%;
  padding-bottom: 10%;
}
#categories li div:hover p {
  top: 50%;
  padding-top: 10%;
}
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,800italic,400,700,800' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Raleway:400,700,300,200,100,900' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Amatic+SC:400,700' rel='stylesheet' type='text/css'>

<ul id="categories" class="clr">
  <li>
    <div>
      <img src="https://farm3.staticflickr.com/2878/10944255073_973d2cd25c.jpg" alt="" />
      <h1>This is a title a bit longer</h1>
      <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
    <div>
      <img src="https://farm9.staticflickr.com/8461/8048823381_0fbc2d8efb.jpg" alt="" />
      <h1>This is a title</h1>
      <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
    <div>
      <img src="https://farm5.staticflickr.com/4144/5053682635_b348b24698.jpg" alt="" />
      <h1>This is a title</h1>
      <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
    <div>
      <img src="https://farm3.staticflickr.com/2827/10384422264_d9c7299146.jpg" alt="" />
      <h1>This is a title</h1>
      <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
    <div>
      <img src="https://farm7.staticflickr.com/6217/6216951796_e50778255c.jpg" alt="" />
      <h1>This is a title</h1>
      <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>

  <li>
    <div>
      <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt="" />
      <h1>This is a title</h1>
      <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>


</ul>

0 个答案:

没有答案