手机上猫头鹰旋转木马的高度

时间:2019-02-08 15:18:27

标签: css flexbox owl-carousel

我使用Owl Carousel可以覆盖台式机的整个屏幕。

当我在电话设备上查看同一图像时,它仅占据屏幕尺寸的三分之一。

我如何调整高度使其比手机上当前的高度高?

我读了一些主题,但是对Owl carousel还是陌生的,我不确定我做错了什么。我找不到此类https://css-tricks.com/forums/topic/owl-slider-100-height/,所以不确定

我对猫头鹰轮播的配置是

            items: 1,
            smartSpeed: 1000,
            autoplay: true,
            autoplayTimeout: 6000,
            dots: false,
            loop: true,
            mouseDrag: false,
            autoHeight:false,
            touchDrag: false,
            autoHeight:true

Owl Carousel v2.3.4

使用CSS(https://owlcarousel2.github.io/OwlCarousel2/assets/owlcarousel/assets/owl.carousel.min.css

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */

.owl-carousel,
.owl-carousel .owl-item {
    -webkit-tap-highlight-color: transparent;
    position: relative
}

.owl-carousel {
    display: none;
    width: 100%;
    z-index: 1
}

.owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden
}

.owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

.owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item,
.owl-carousel .owl-wrapper {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0)
}

.owl-carousel .owl-item {
    min-height: 100%;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-touch-callout: none
}

.owl-carousel .owl-item img {
    display: block;
    width: 100%
}

.owl-carousel .owl-dots.disabled,
.owl-carousel .owl-nav.disabled {
    display: none
}

.no-js .owl-carousel,
.owl-carousel.owl-loaded {
    display: block
}

.owl-carousel .owl-dot,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-nav .owl-prev {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
    background: 0 0;
    color: inherit;
    border: none;
    padding: 0!important;
    font: inherit
}

.owl-carousel.owl-loading {
    opacity: 0;
    display: block
}

.owl-carousel.owl-hidden {
    opacity: 0
}

.owl-carousel.owl-refresh .owl-item {
    visibility: hidden
}

.owl-carousel.owl-drag .owl-item {
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.owl-carousel.owl-grab {
    cursor: move;
    cursor: grab
}

.owl-carousel.owl-rtl {
    direction: rtl
}

.owl-carousel.owl-rtl .owl-item {
    float: right
}

.owl-carousel .animated {
    animation-duration: 1s;
    animation-fill-mode: both
}

.owl-carousel .owl-animated-in {
    z-index: 0
}

.owl-carousel .owl-animated-out {
    z-index: 1
}

.owl-carousel .fadeOut {
    animation-name: fadeOut
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

.owl-height {
    transition: height .5s ease-in-out
}

.owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity .4s ease
}

.owl-carousel .owl-item .owl-lazy:not([src]),
.owl-carousel .owl-item .owl-lazy[src^=""] {
    max-height: 0
}

.owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d
}

.owl-carousel .owl-video-wrapper {
    position: relative;
    height: 100%;
    background: #000
}

.owl-carousel .owl-video-play-icon {
    position: absolute;
    height: 80px;
    width: 80px;
    left: 50%;
    top: 50%;
    margin-left: -40px;
    margin-top: -40px;
    background: url(owl.video.play.png) no-repeat;
    cursor: pointer;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    transition: transform .1s ease
}

.owl-carousel .owl-video-play-icon:hover {
    -ms-transform: scale(1.3, 1.3);
    transform: scale(1.3, 1.3)
}

.owl-carousel .owl-video-playing .owl-video-play-icon,
.owl-carousel .owl-video-playing .owl-video-tn {
    display: none
}

.owl-carousel .owl-video-tn {
    opacity: 0;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: opacity .4s ease
}

.owl-carousel .owl-video-frame {
    position: relative;
    z-index: 1;
    height: 100%;
    width: 100%
}

2 个答案:

答案 0 :(得分:1)

根据我收集到的信息,您希望使用Owl Carousel在台式机和移动设备上使容器具有全高和全宽。

我为您制作了一支钢笔,这可能会帮助您在到达猫头鹰旋转木马的途中-我对此不太了解,因为我倾向于不再使用旋转木马,但这是一个很好的选择轮播解决方案!

https://codepen.io/kurtis-rogers/full/NozyEz

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Owl Carousel 2 Example</title>
</head>
<body>
  <div class="owl-carousel">
    <div class="post-content-parent">
      <div class="c--post-content-image-wrapper"></div>
      <div class="post-content-text-child">
        <div class="post-content--inner">
          <h2>Slider 1</h2>
          <p>Some information about slider 1</p>
        </div>
        <input type="button" value="Read more">
      </div>
    </div>
    <div class="post-content-parent">
      <div class="c--post-content-image-wrapper"></div>
      <div class="post-content-text-child">
        <div class="post-content--inner">
          <h2>Slider 1</h2>
          <p>Some information about slider 1</p>
        </div>
        <input type="button" value="Read more">
      </div>
    </div>
  </div>
</body>
</html>

CSS(SCSS):

body, html{
  padding: 0;
  margin: 0;
}

.owl-carousel, .owl-stage-outer {
  max-height: 100%;
  height: 100vh;
}

// Parent container for the images and text
.post-content-parent{
  display: flex;
  width: 100%;
  height: 100vh;
  position: relative;
}

// Post content image styles
.c--post-content-image-wrapper{
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  bottom: 0;
  background: url("https://images.pexels.com/photos/132037/pexels-photo-132037.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

// Post text content
.post-content-text-child{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.7);
  z-index: 1;
  padding: 20px 0;
  position: absolute;
  bottom: 0;
  top: auto;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  .post-content--inner {
    padding-left: 20px;
  }
  h2 {
    font-family: Arial, sans-serif;
    font-weight: lighter;
  }
  h2, p {
    margin: 0;
  }
  input[type="button"] {
    margin-right: 20px;
  }
}

JavaScript:

$(document).ready(function(){
  $(".owl-carousel").owlCarousel({
    loop: true,
    items: 1,
    center: true,
    lazyLoad: true,
    dots: false
  });
});

如果您需要任何帮助,请告诉我:)

答案 1 :(得分:0)

您面临的问题是因为桌面屏幕和移动屏幕的宽高比不同。

最好的方法是为台式机和移动设备使用两组不同的图像。您可以显示台式机的横向图像和移动设备的纵向图像。

您可以尝试使用HTML图片元素在台式机和移动设备上显示不同的图像: https://www.w3schools.com/tags/tag_picture.asp