【问题标题】:Responsive tile layout only works in width响应式平铺布局仅适用于宽度
【发布时间】:2013-07-08 12:52:48
【问题描述】:

我有这个奇怪的问题,我似乎不明白错误在哪里。我正在根据我在网上找到的教程构建响应式磁贴布局。在 thr 教程中,瓷砖有 20% 的宽度,整个网站都以此为基础工作。因此,当我将百分比从 20% 更改为 33.33% 时,只有宽度增加,高度保持在 20%(将我的内容切割到瓷砖内)。我不明白为什么会这样……我已经尝试为几个不同的类添加高度,但到目前为止没有结果。

我会把代码放上来让你看看,希望能告诉我错误在哪里......

HTML:

<body class="no-touch">

<div class="wrap">

  <!-- Define all of the tiles: -->
  <div class="box">
    <div class="boxInner">
      <img src="http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/images/demo/1.jpg" />
      <div class="titleBox">Just a caption</div>
    </div>
  </div>
  <div class="box">
    <div class="boxInner">
      <img src="http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/images/demo/1.jpg" />
      <div class="titleBox">An old greenhouse</div>
    </div>
  </div>
  <div class="box">
    <div class="boxInner">
      <img src="http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/images/demo/2.jpg" />
      <div class="titleBox">Purple wildflowers</div>
    </div>
  </div>
  <div class="box">
    <div class="boxInner">
      <img src="http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/images/demo/3.jpg" />
      <div class="titleBox">A birdfeeder</div>
    </div>
  </div>
  <div class="box">
    <div class="boxInner">
      <img src="http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/images/demo/10.jpg" />
      <div class="titleBox">Crocus close-up</div>
    </div>
  </div>
  <div class="box">
    <div class="boxInner">
      <img src="http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/images/demo/4.jpg" />
      <div class="titleBox">The garden shop</div>
    </div>
  </div>

</div>
<!-- /#wrap -->

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function(){
   // See if this is a touch device
   if ('ontouchstart' in window)
   {
      // Set the correct [touchscreen] body class
      $('body').removeClass('no-touch').addClass('touch');

      // Add the touch toggle to show text when tapped
      $('div.boxInner img').click(function(){
         $(this).closest('.boxInner').toggleClass('touchFocus');
      });
   }
});
</script>


</body>

CSS:

body {
   margin: 0;
   padding: 0;
   background: #fff;
   font: 18px 'voltaireregular',sans-serif;
   margin:auto;
}

.wrap {
   overflow: hidden;
   margin: 10px;
}

.box {
   float: left;
   position: relative;
   width:33.33%;
   padding-bottom: 20%;
}

.boxInner {
   position: absolute;
   left: 10px;
   right: 10px;
   top: 10px;
   bottom: 10px;
   overflow: hidden;
}

.boxInner img {
   width: 100%;
}

.boxInner .titleBox {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   margin-bottom: -50px;
   background: #f1804b;
   opacity:0.8;
   color: #FFF;
   padding: 10px;
   text-align: center;
   -webkit-transition: all 0.3s ease-out;
   -moz-transition: all 0.3s ease-out;
   -o-transition: all 0.3s ease-out;
   transition: all 0.3s ease-out;
}

body.no-touch .boxInner:hover .titleBox, body.touch .boxInner.touchFocus .titleBox {
   margin-bottom: 0;
}

@media only screen and (max-width : 480px) {

   /* Smartphone view: 1 tile */

.box {
    width: 100%;
    padding-bottom: 100%;
}
}

@media only screen and (max-width : 650px) and (min-width : 481px) {

   /* Tablet view: 2 tiles */

.box {
    width: 50%;
    padding-bottom: 50%;
}
}

@media only screen and (max-width : 1050px) and (min-width : 651px) {

   /* Small desktop / ipad view: 3 tiles */

   .box {
      width: 33.3%;
      padding-bottom: 33.3%;
   }
}

@media only screen and (max-width : 1290px) and (min-width : 1051px) {

   /* Medium desktop: 4 tiles */
.box {
    width: 25%;
    padding-bottom: 25%;
}
}

那么……有什么线索吗?提前致谢!

【问题讨论】:

    标签: html css responsive-design height tiles


    【解决方案1】:

    好的,解决方案是更改 padding-bottom: 20%;在 .box 类上与宽度相同的百分比...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-05
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多