【问题标题】:Bootstrap Video Carousel Play button/ left & right indicators not appearingBootstrap Video Carousel 播放按钮/左右指示器未出现
【发布时间】:2018-12-11 15:10:21
【问题描述】:

所以我尝试制作一个包含 4 个视频的轮播,但遇到了一些问题,但不知道为什么。首先我只能使用屏幕底部中间的圆圈来切换视频,我不能点击左右或视频来切换。当我确实向左移动时效果很好,但是当我向右移动时,播放按钮会出现在左侧指示器应该在的位置,当我播放视频时它会弹回中间。任何帮助将不胜感激,因为我在这里相当难过。这是我的代码。 提前致谢。

<div id="help--video-help-carousel" class="carousel slide" data-ride="carousel">
        <ol class="carousel-indicators">
            <li data-target="#help--video-help-carousel" data-slide-to="0" class="active"></li>
            <li data-target="#help--video-help-carousel" data-slide-to="1"></li>
            <li data-target="#help--video-help-carousel" data-slide-to="2"></li>
            <li data-target="#help--video-help-carousel" data-slide-to="3"></li>
        </ol>
        <div class="carousel-inner" role="listbox">
            <div class="item active">
                <video width="900" height="600" border="5" controls="controls">
                    <source src="help1.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption">
                    <h3 class="h3-responsive">Help 1</h3>
                </div>
            </div>
            <div class="item">
                <video width="900" height="600" controls="controls">
                    <source src="help2.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption">
                    <h3 class="h3-responsive">Help 2y</h3>
                </div>
            </div>
            <div class="item">
                <video width="900" height="600" controls="controls">
                    <source src="help3.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption">
                    <h3 class="h3-responsive">Help 3</h3>
                </div>
            </div>
            <div class="item">
                <video width="900" height="600" controls="controls">
                    <source src="help4.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption d-none d-md-block">
                </div>
                <div class="carousel-caption">
                    <h3 class="h3-responsive">Help 4</h3>
                </div>
            </div>
            <a class="carousel-control-prev" href="#help--video-help-carousel" role="button" data-slide="prev">
                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
            </a>
            <a class="carousel-control-next" href="#help--video-help-carousel" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>
    </div>

【问题讨论】:

    标签: html bootstrap-4 carousel


    【解决方案1】:

    Johan 关于 item 必须是 carousel-item 是正确的。这为我修复了代码。此外,将轮播包装在容器中似乎可以修复控件。您可能还想为控件、标题和指示器添加下边距。

    <div class="container-fluid col-8 offset-2">
    <div id="help--video-help-carousel" class="carousel slide" data-ride="carousel">
        <ol class="carousel-indicators" style="margin-bottom: 60px;">
            <li data-target="#help--video-help-carousel" data-slide-to="0" class="active"></li>
            <li data-target="#help--video-help-carousel" data-slide-to="1"></li>
            <li data-target="#help--video-help-carousel" data-slide-to="2"></li>
            <li data-target="#help--video-help-carousel" data-slide-to="3"></li>
        </ol>
        <div class="carousel-inner" role="listbox">
            <div class="carousel-item active">
                <video width="900" height="600" border="5" controls="controls">
                    <source src="help1.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption d-none d-md-block" style="margin-bottom: 60px;">
                    <h3 class="h3-responsive">Help 1</h3>
                </div>
            </div>
            <div class="carousel-item">
                <video width="900" height="600" controls="controls">
                    <source src="help2.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption d-none d-md-block" style="margin-bottom: 60px;">
                    <h3 class="h3-responsive">Help 2y</h3>
                </div>
            </div>
            <div class="carousel-item">
                <video width="900" height="600" controls="controls">
                    <source src="help3.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption d-none d-md-block" style="margin-bottom: 60px;">
                    <h3 class="h3-responsive">Help 3</h3>
                </div>
            </div>
            <div class="carousel-item">
                <video width="900" height="600" controls="controls">
                    <source src="help4.mp4" type="video/mp4">
                </video>
                <div class="carousel-caption d-none d-md-block" style="margin-bottom: 60px;">
                    <h3 class="h3-responsive">Help 4</h3>
                </div>
            </div>
            <a class="carousel-control-prev" href="#help--video-help-carousel" role="button" data-slide="prev" style="margin-bottom: 60px;">
                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
            </a>
            <a class="carousel-control-next" href="#help--video-help-carousel" role="button" data-slide="next" style="margin-bottom: 60px;">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>
    </div>
    

    Screenshot of carousel

    【讨论】:

    • 使用 carousel-item 而不是 item 会破坏它,我不知道为什么。我知道它应该是阅读文档的轮播项目形式,但它确实打破了它。我还复制并粘贴了带有和不带有轮播项目的代码,并且没有选择进入下一个或上一个视频的选项。一定是当地正在发生的事情。任何建议将不胜感激。
    • 您确定您使用的是 Bootstrap 4 吗?根据这个网站:quackit.com/bootstrap/bootstrap_4/…,轮播在bs3中使用了item类,但在bs4中改为carousel-item
    【解决方案2】:

    在 Bootstrap v4.x(最新)中,单个轮播元素类不是“item”而是“carousel-item”。

    您还仅在其中一个充其量不一致的元素上设置了一个类“d-none d-md-block”。 您可能想查看 Bootstraps 在轮播https://getbootstrap.com/docs/4.1/components/carousel/#slides-only 中对对齐的使用,他们在示例中的所有元素上使用 'd-block' (class="d-block w-100")。

    尚未测试,但可能就是这样。

    【讨论】:

    • 啊,没有注意到“d-none d-md-block” nit 肯定是复制和粘贴错误的好地方。但是修复它仍然没有任何区别。我还研究了“carousel-item”而不仅仅是“item”,但这似乎因为某种原因打破了轮播。所有项目都单独出现在另一个之下,然后在底部有一个看起来像旋转木马的东西,但你不能下一个或上一个。还有其他想法吗?无论如何,感谢您的帮助,因为我一直被困在这里。
    猜你喜欢
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2015-02-19
    相关资源
    最近更新 更多