响应自定义扩展预览

Responsive custom expanding preview

本文关键字:扩展 自定义 响应      更新时间:2023-09-26

我正在尝试构建一个扩展预览,如http://tympanus.net/Tutorials/ThumbnailGridExpandingPreview/.

但是我需要根据我的需求定制它。

请检查这个小提琴

我面临的问题是:

  1. 指针没有正确指向图像。(它指向但隐藏在盒子后面)
  2. 当点击第一张图片时,所有右边的元素都向下移动。

与此同时,我还想问,我们可以把所有的8个圆形div放在一行吗?

谢谢。

jQuery(document).ready(function() {
  $(".mn").click(function() {
    var activeTab = $(this).attr("href"); //Find the target via the href
    if ($(activeTab).is(':visible')) {
      $(activeTab).slideUp();
      $(this).removeClass("active");
    } else {
      $(".mn").removeClass("active"); //Remove any "active" class
      $(this).addClass("active")
      $('.tab').hide();
      $(activeTab).fadeIn();
    }
    return false;
  });
});
.wrap {
  max-width: 100%;
  margin: auto;
}
.mn.active:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px;
  margin: 0 0 0 -6px;
  /*width: 0;*/
  /*height: 0;*/
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid red;
}
.img-circle {
  border-radius: 50%;
}
.img-circle {
  border-radius: 0;
}
.ratio {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto;
  height: 0;
  padding-bottom: 100%;
  position: relative;
  width: 100%;
}
.img-circle {
  border-radius: 50%;
}
.img-responsive {
  display: block;
  height: auto;
  max-width: 100%;
}
.mn.active,
.mn:focus {
  background: #f9f9f9;
  outline: none
}
.tab {
  display: none;
  clear: both;
  margin: 0 2% 10px 0;
  background: red;
  min-height: 100px;
  width: 100%;
  padding: 5px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="wrap">
  <div class="col-sm-2">
    <a href="#tab1" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">1</div>
    </a>
  </div>
  <div id="tab1" class="tab">Tab 1</div>
  <div class="col-sm-2">
    <a href="#tab2" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">2</div>
    </a>
  </div>
  <div id="tab2" class="tab">Tab 2</div>
  <div class="col-sm-2">
    <a href="#tab3" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">3</div>
    </a>
  </div>
  <div id="tab3" class="tab">Tab 3</div>
  <div class="col-sm-2">
    <a href="#tab4" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">4</div>
    </a>
  </div>
  <div id="tab4" class="tab">Tab 4</div>
  <div class="col-sm-2">
    <a href="#tab5" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">5</div>
    </a>
  </div>
  <div id="tab5" class="tab">Tab 5</div>
  <div class="col-sm-2">
    <a href="#tab6" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">6</div>
    </a>
  </div>
  <div id="tab6" class="tab">Tab 6</div>
  <div class="col-sm-2">
    <a href="#tab7" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">7</div>
    </a>
  </div>
  <div id="tab7" class="tab">Tab 7</div>
  <div class="col-sm-2">
    <a href="#tab8" class="mn">
      <div class="ratio img-responsive img-circle" style="background-image: url(/img/analytics.png); background-color: #FFC107;"></div>
      <div class="text-center">8</div>
    </a>
  </div>
  <div id="tab8" class="tab">Tab 8</div>
</div>

请检查此提琴:https://jsfiddle.net/LyL8vkmr/4/

我将每个col-sm-2放入<div class="row"></div>中,并将所有制表符放入单独的<div class="row"></div>中。现在,当你点击一个圆圈时,它会在它下面的行打开一个选项卡,并将所有的圆圈推到下一行。然而,它仍然不能完美地工作,因为当你把它调整到小尺寸并点击一个圆圈时,标签会在行最底部打开,你不能很容易地看到它。

还请注意,我将col-sm-2更改为col-sm-1,因为您说您想要连续8个div。唯一的问题是它不能百分之百地伸展。如果你想让8列一直延伸,那么你需要使用自定义版本的bootstrap。在这里输入8作为@grid-columns字段