【问题标题】:FlexSlider Auto Height still leaving a space below sliderFlexSlider Auto Height 仍然在滑块下方留有空间
【发布时间】:2014-10-10 14:01:19
【问题描述】:

我的 flexslider 上有自动高度,但它下方仍然留有空间。

我已为滑块应用了背景颜色,它使用自动高度并上下移动,但似乎滑块正在拍摄最大的照片并将滑块保持在该高度。

任何帮助都会很棒!

您可以在此处查看该页面:http://therichmondhillgallery.com/index.php/shows/bruce-yardley/

This is my html:
<div id="carousel" class="flexslider">
<ul class="slides">
<li class="slide">
<img src="<?php echo $thumb_image; ?>" />
</li>
</ul>
</div>

<div id="slider" class="flexslider">
  <ul class="slides">
    <li class="slide">
       <img class="slidermainimg" src="<?php echo $main_image; ?>" />
    </li>
  </ul>
</div>

这是我的 CSS:

/* Browser Resets
*********************************/
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}

/* Icon Fonts
*********************************/
/* Font-face Icons */
@font-face {
    font-family: 'flexslider-icon';
    src:url('../fonts/flexslider-icon.eot');
    src:url('../fonts/flexslider-icon.eot?#iefix') format('embedded-opentype'),
        url('../fonts/flexslider-icon.woff') format('woff'),
        url('../fonts/flexslider-icon.ttf') format('truetype'),
        url('../fonts/flexslider-icon.svg#flexslider-icon') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden; margin-right:10px;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {width: 100%; display: block;}
.flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .slides element */
.slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}

/* FlexSlider Default Theme
*********************************/
.flexslider { margin: 0 0 30px; position: relative; zoom: 1; }
.flex-viewport { max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; }
.loading .flex-viewport { max-height: 300px; }
.flexslider .slides { zoom: 1; }
.carousel li { margin-right: 5px;}

/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a  { text-decoration:none; display: block; width: 40px; height: 30px; margin: -20px 0 0; position: absolute; top: 55%; z-index: 10; overflow: hidden; opacity: 0.6; cursor: pointer; color: rgba(0,0,0,0.8); text-shadow: 1px 1px 0 rgba(255,255,255,0.3); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }
.flex-direction-nav .flex-prev { left: 10px; display: block;}
.flex-direction-nav .flex-next { right: 10px; text-align: right; display: block;}
.flexslider:hover .flex-prev { opacity: 1; left: 10px;}
.flexslider:hover .flex-next { opacity: 1; right: 10px;}
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover { opacity: 1; }
.flex-direction-nav .flex-disabled { opacity: 0!important; filter:alpha(opacity=0); cursor: default; }
.flex-direction-nav a:before  { font-family: "flexslider-icon"; font-size: 30px; display: inline-block; content: '\f001'; color:#ffffff; }
.flex-direction-nav a.flex-next:before  { content: '\f002'; }

/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -moz-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -o-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); box-shadow: inset 0 0 3px rgba(0,0,0,0.3); }
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }

.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

#slider {background-color:#ff6600; margin-bottom:0px;}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev { opacity: 1; left: 10px;}
  .flex-direction-nav .flex-next { opacity: 1; right: 10px;}
}

这是我的 javascript:

<link rel="stylesheet" href="css/flexslider.css" type="text/css" media="screen" />

            <script type="text/javascript">
            $(window).load(function() {
              $('#carousel').flexslider({
                animation: "slide",
            animationLoop: true,
            itemWidth: 200,
            itemMargin: 10,
            minItems: 5,
            move: 5,
            controlNav: false,
                asNavFor: '#slider'
              });

              $('#slider').flexslider({
                animation: "fade",
                controlNav: false,
                animationLoop: true,
                slideshow: false,
                smoothHeight: true,
            slideshowSpeed: 20000,
            directionNav: false,
                sync: "#carousel"
              });
            });
        </script>

【问题讨论】:

  • Chrome Dev Tool 中,flexslider.css 出现错误(未找到文件),请尝试确保其路径正确,或许可以解决问题?
  • 嗨,维克多,我已经调查过了,这只是我在将网站转换为 Wordpress 主题时忘记取出的一行代码,我已经删除了它,它仍然是一样的......它页面首次加载时似乎会自动调整高度,但随后会弹回最高图像的高度..
  • 如果你将overflow: hidden 添加到#slider 它会修复它,但你不需要这样做。我会亲自重新安装滑块插件。
  • 作为答案添加 - 你能接受吗,ta!

标签: javascript html css slider flexslider


【解决方案1】:

添加

overflow: hidden

#slider

【讨论】:

  • 非常感谢。这解决了我在使用 flexslider 时遇到的一个问题,其中缩略图向下滑动到滑块以选择您想要“放大”查看的照片。当我插入垂直图像时,由于垂直照片,flexslider 留下了一个非常难看的空白......再次感谢你;)
  • 我添加了 overflow:hidden 到 ul.slides 它对我有用!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多