【问题标题】:Carousel, make a div within an item same height as sibling item's div轮播,在与兄弟项目的 div 高度相同的项目内创建一个 div
【发布时间】:2017-03-19 08:47:02
【问题描述】:

我有一个响应式 Owl Carousel (v2),每个项目或幻灯片都有一个图像,下面是一些可变长度的文本,见下图:

可以看出,无论有多少文本,所有图像都底部对齐到相同的基线。我通过将文本 div 设置为固定高度来完成此操作。问题是,如果只有一行文本,我会在轮播下方留出不必要的空间。

如果我允许 div 设置自己的高度,我会得到:

所以我的图像不再排列。

HTML

    <div>
      <img class='a4_diary_image' src='sizes/test.png'>
      <div class='owl_diary_desc'>
        A4 size, this is going on to two lines
      </div>
    </div>

     <div>
      <img class='a5_diary_image' src='sizes/test.png'>
       <div class='owl_diary_desc'>
        A5 size 
      </div>
   </div>

    <div>
      <img class='a6_diary_image' src='sizes/test.png'>
       <div class='owl_diary_desc'>
        A6 size 
      </div>
   </div>

</div>

CSS

.owl-carousel .owl-item {
  display: table-cell;
  float: none;
  text-align: center;
  vertical-align: bottom;
  border: 1px dashed grey;
  height: 100%;
  padding: 0px 10px;
}


.owl_diary_desc {
  font-size: 19px;
  border: 1px dashed red;
  margin-top:10px;
}




.a4_diary_image {
  max-width: 100%;
  max-height: 100%;
  margin-left: auto;
  margin-right: auto;
}


.a5_diary_image {
  max-width: 70%;
  max-height: 70%;
  margin-left: auto;
  margin-right: auto;
}


.a6_diary_image {
  max-width: 50%;
  max-height: 50%;
  margin-left: auto;
  margin-right: auto;
}

【问题讨论】:

  • 不能在min-height 中添加.owl_diary_desc...吗?
  • 我不确定那会怎样?如果像我的第二个屏幕抓取一样添加更多文本,它会增长。
  • 是的,因为这就是 min-height 的工作原理,但它至少可以让你强制至少两行文本的最小高度......(不理想,但做什么当你有可变长度的文本时你会这样做......)

标签: css responsive-design vertical-alignment owl-carousel


【解决方案1】:

纯 HTML 和 CSS 不允许您根据同级设置相等的高度。不过,使用一点 jquery 就可以实现。

$maxDesc;
function equalize(){
    $('.owl_diary_desc').each(function(i){
        if ($(this).height() > $maxDesc) { $maxDesc = $(this).height();}
    });

    $('.owl_diary_desc').each(function(i){$(this).height($maxDesc);});
}

当我使用这样的东西时,我通常将变量持有者移动到脚本的开头。然后我调用文档准备好的函数。有时我什至会在窗口调整大小功能上调用它。如果您选择这样做,则必须调用对象上的 each 函数并将高度重置为 auto,然后再调用 equalize 函数。

【讨论】:

  • 嗨,一旦我将第一行更改为 var $maxDesc =0; - 谢谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2013-07-26
  • 1970-01-01
相关资源
最近更新 更多