我遇到了 flexslider 的问题,当我使用“垂直”幻灯片过渡时,幻灯片的间距不均匀。
例如,第一张幻灯片一开始看起来像是在其上方有约 20 像素的填充,将大约一半的标题从底部撞出。每张新幻灯片都会使问题复杂化,直到滑块重置。这只发生在我使用“垂直”过渡时。
在flexslider 文档中,它写道:
垂直幻灯片动画不享受与水平动画相同的有机尺寸,并且幻灯片必须等高。如果您在使用垂直方向时有不同高度的幻灯片,您的幻灯片的间距会不正确。
但是,我的每张幻灯片的高度/宽度都完全相同。
这是基本的 HTML 代码:
<div class="flexslider">
<ul class="slides">
<li>
<img src="myimage" />
<h1>Title 1</h1>
</li>
<li>
<img src="myimage2" />
<h1>Title 2</h1>
</li>
<li>
<img src="myimage3" />
<h1>Title 3</h1>
</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;}
/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* 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: "."; 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 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.2); -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1;}
.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .flex-viewport {max-height: 300px;}
.flexslider .slides {zoom: 1;}
.carousel li {margin-right: 5px}
我制作了一个jsFiddle,您可以在其中看到滑出位置的幻灯片。我试过归零和调整边距。我现在需要一些帮助,因为我认为这与 Flexslider 脚本注入的内联 CSS 有关。
在此先感谢任何可以提供帮助的人!
更新:找到修复程序。 H1
标签上有浏览器默认边距。在下面的答案中进行简单修复。