【问题标题】:Keeping a bootstrap carousel as a static background with text on top将引导轮播保持为静态背景,顶部有文本
【发布时间】:2015-05-21 08:31:14
【问题描述】:

所以我正在尝试实现这样的东西:

http://bootsnipp.com/snippets/featured/carousel-static-headline-caption

以轮播为背景的文本。目前,当我滚动浏览轮播时,文本也会滚动。这是我正在使用的轮播代码。

HTML:

    <!-- Wrapper for Slides -->
    <div class="carousel-inner">
        <div class="item active">
            <!-- Set the first background image using inline CSS below. -->
            <div class="fill" style="background-image:url('image');"></div>
            <div class="carousel-caption">
            <h1>Text that I would like to stay</h1>
            </div>
        </div>
        <div class="item">
            <!-- Set the second background image using inline CSS below. -->
            <div class="fill" style="background-image:url('image');"></div>
            <div class="carousel-caption">
            </div>
        </div>
        <div class="item">
            <!-- Set the third background image using inline CSS below. -->
            <div class="fill" style="background-image:url('image');"></div>
            <div class="carousel-caption">
            </div>
        </div>
    </div>

    <!-- Controls -->
    <a class="left carousel-control" href="#myCarousel" data-slide="prev">
        <span class="icon-prev"></span>
    </a>
    <a class="right carousel-control" href="#myCarousel" data-slide="next">
        <span class="icon-next"></span>
    </a>

</header>

CSS:

    html,
    body {
        height: 100%;

    }

    .carousel,
    .item,
    .active {
        height: 100%;

    }

    .carousel-inner {
        height: 100%;
    }


    .carousel-caption {
        padding-bottom: 475px;

    }

    /* Background images are set within the HTML using inline CSS, not here */

    .fill {
        width: 100%;
        height: 100%;
        background-position: center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        background-size: cover;
        -o-background-size: cover;
        opacity: 0.9;
        top: 50px
    }

    footer {
        margin: 50px 0;
    }
body {
    width: 100%;
    height: 100%;
}

html {
    width: 100%;
    height: 100%;
}

@media(min-width:767px) {
    .navbar {
        opacity: 0.6;
        -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
        transition: background .5s ease-in-out,padding .5s ease-in-out;
    }

    .top-nav-collapse {
        padding: 0;
    }

}.intro-section {
    height: 100%;
    padding-top: 150px;
    text-align: center;
    background: #fff;
}

.about-section {
    height: 100%;
    padding-top: 150px;
    text-align: center;
    background: #eee;
}

.services-section {
    height: 100%;
    padding-top: 150px;
    text-align: center;
    background: #fff;
}

.contact-section {
    height: 100%;
    padding-top: 150px;
    text-align: center;
    background: #eee;
}

【问题讨论】:

    标签: javascript jquery html css twitter-bootstrap


    【解决方案1】:

    你的 HTML 应该是这样的

    HTML

    <div class="col-md-12">
        <div data-ride="carousel" class="carousel slide" id="carousel-example-generic">
            <ol class="carousel-indicators">
                <li class="" data-slide-to="0" data-target="#carousel-example-generic"></li>
                <li data-slide-to="1" data-target="#carousel-example-generic" class="active"></li>
                <li data-slide-to="2" data-target="#carousel-example-generic" class=""></li>
            </ol>
            <div class="carousel-inner">
                <div class="item">
                    <img alt="First slide" src="http://placehold.it/1200x500/3498db/2980b9">
                    <div class="carousel-caption">
                        <h3>
                                    First slide</h3>
                        <p>
                            Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
                    </div>
                </div>
                <div class="item active">
                    <img alt="Second slide" src="http://placehold.it/1200x500/9b59b6/8e44ad">
                    <div class="carousel-caption">
                        <h3>
                                    Second slide</h3>
                        <p>
                            Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
                    </div>
                </div>
                <div class="item">
                    <img alt="Third slide" src="http://placehold.it/1200x500/34495e/2c3e50">
                    <div class="carousel-caption">
                        <h3>
                                    Third slide</h3>
                        <p>
                            Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
                    </div>
                </div>
            </div>
            <a data-slide="prev" href="#carousel-example-generic" class="left carousel-control">
                <span class="glyphicon glyphicon-chevron-left"></span></a><a data-slide="next" href="#carousel-example-generic" class="right carousel-control"><span class="glyphicon glyphicon-chevron-right">
                            </span></a>
        </div>
        <div class="main-text hidden-xs">
            <div class="col-md-12 text-center">
                <h1>
                            Static Headline And Content</h1>
                <h3>
                            Lorem ipsum dolor sit amet, consectetur adipiscing elit.
                        </h3>
                <div class="">
                    <a href="http://www.jquery2dotnet.com/" class="btn btn-clear btn-sm btn-min-block">Login</a><a href="http://www.jquery2dotnet.com/" class="btn btn-clear btn-sm btn-min-block">Registration</a></div>
            </div>
        </div>
    </div>
    

    主要内容的 CSS 代码

    CSS

    .main-text {
        color: #fff;
        position: absolute;
        top: 50px;
        width: 96.6667%;
    }
    

    【讨论】:

    • 我想保留我当前的轮播代码,因为我更喜欢它而不是我发布的那个,因为我发布的那个不包含 javascript 并且不是全屏的。你知道如何编辑我当前的代码吗?
    【解决方案2】:

    虽然问题中的链接提供了一个很好的解决方案,如果我们想要一个固定的文本并且同时滚动文本,在大多数情况下我们只需要固定或滚动。在 Bootstrap 中固定文本就像将&lt;div class="carousel-caption"&gt; 放在&lt;div class="item"&gt; 之外并将其直接放在&lt;div class="carousel-inner"&gt; 下一样简单。不需要任何额外的 CSS 或 HTML。示例:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
    <script src="//netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
      <ol class="carousel-indicators">
        <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
        <li data-target="#carousel-example-generic" data-slide-to="1"></li>
        <li data-target="#carousel-example-generic" data-slide-to="2"></li>
      </ol>
      <div class="carousel-inner">
        <div class="item active">
          <img src="http://placehold.it/1200x500/3498db/2980b9" alt="First slide">
        </div>
        <div class="item">
          <img src="http://placehold.it/1200x500/9b59b6/8e44ad" alt="Second slide">
        </div>
        <div class="item">
          <img src="http://placehold.it/1200x500/34495e/2c3e50" alt="Third slide">
        </div>
        <div class="carousel-caption">
          <h3>Static Headline And Content</h3>
          <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
        </div>
      </div>
      <a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a>
      <a class="right carousel-control" href="#carousel-example-generic" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a>
    </div>

    旋转木马的设计使我们将滚动内容放置在&lt;div class="item"&gt; 中,并将固定内容直接放置在&lt;div class="carousel-inner"&gt; 中。我们可以同时提供两者,但它们会相互重叠,我们需要额外的 CSS 将它们分开。但大多数情况下不需要同时使用两者。

    【讨论】:

      【解决方案3】:

      你所要做的就是在轮播代码之后添加这个html

      <div class="main-text">
          <div class="col-md-12 text-center">
              <h1>
                  Static Headline And Content</h1>
              <h3>
                  Lorem ipsum dolor sit amet, consectetur adipiscing elit.
              </h3>
              <div class="">
                  <a class="btn btn-clear btn-sm btn-min-block" href="http://www.jquery2dotnet.com/">Login</a><a class="btn btn-clear btn-sm btn-min-block"
                  href="http://www.jquery2dotnet.com/">Registration</a></div>
          </div>
      </div>
      

      添加这个css

      .main-text {
          position: absolute;
          top: 50px;
          width: 96.66666666666666%;
          color: #FFF;
      }
      

      (Demo)

      【讨论】:

        猜你喜欢
        • 2014-01-04
        • 2013-10-28
        • 1970-01-01
        • 2021-02-18
        • 1970-01-01
        • 2020-02-10
        • 1970-01-01
        • 1970-01-01
        • 2020-06-03
        相关资源
        最近更新 更多