css - 使轮播在所有设备中响应

标签 css html responsive-design

我无法为任何设备修复轮播图片。这是我的代码:

div.c-wrapper {
  height: 406px;
  width: 940px;
  /* use this, or not */
  margin: auto;
}

.img-responsive {
  max-width: 100%;
  display: block;
  height: auto;
}
<div class="container">
  <div id="myCarousel" class="carousel slide" data-ride="carousel">
    <div class="c-wrapper">
      <div id="carousel-example-generic" class="carousel slide">
        <!-- Indicators -->
        <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>

        <!-- Wrapper for slides -->
        <div class="carousel-inner">
          <div class="item active">
            <img src="Images/carrousel11.jpg" class="img-responsive" alt="">
          </div>
          <div class="item">
            <img src="Images/carrousel5.jpg" class="img-responsive" alt="">
          </div>
          <div class="item">
            <img src="Images/carrousel6.jpg" class="img-responsive" alt="">
          </div>
        </div>
        <!-- Controls -->
        <a class="left carousel-control" href="#carousel-example-generic" data-slide="prev">
          <span class="icon-prev"></span>
        </a>
        <a class="right carousel-control" href="#carousel-example-generic" data-slide="next">
          <span class="icon-next"></span>
        </a>

      </div>
    </div>
  </div>
</div>

如果能帮帮我,谢谢大家!

最佳答案

尽管我强烈建议使用像 Slick 这样的库,但从头开始创建 slider 的练习值得考虑,如果没有其他原因,只是为了更好地理解网络技术。

以下是一些需要考虑的事项。为了制作合适的旋转木马,您需要使用 JavaScript 来管理下一个上一个click 事件> 并点击指标。您的标记和 CSS 存在许多问题,我已尽我最大努力符合您的初衷,但如果有任何问题,请告诉我,我们可以从这里进行改进。

隐藏非事件图像

为了呈现滑动的外观,您需要隐藏除事件幻灯片之外的所有幻灯片。然后在单击时,您只需通过删除 .active 类来隐藏事件元素,然后将该类添加到下一个元素 - 在这种情况下,通过单步执行 data-slide-to属性。

定位

我发现定位上一个和下一个按钮的最佳方法是使用 position: absolute。为了让它工作,你需要在它周围有一个相对定位的容器。我在 .carousel 上做了这个。

无关标记

我没有删除所有不必要的标记,但您会发现示例中的几个 div 不是必需的,尤其是在顶层。我留下这些以防万一你有其他原因。

图片

快速提示,如果您打算在您的 SO 帖子中使用相关图像,请尝试将这些图像换成 Placehold.it图像,因为它们不会在 SO 上呈现。

.carousel-wrapper {
  width: 500px;
  margin: auto;
}


.carousel-wrapper:after {
  content: "";
  display: table;
  clear: both;
}

.carousel {
  position: relative;
}

.left, .right {
  position: absolute;
  top: 50%;
}

.left {
  left: -50px;
}

.right {
  right: -50px;
}

.img-responsive {
  max-width: 100%;
  display: block;
}

.carousel-indicators {
  display: block;
  height: auto;
  padding: 0;
  margin: 0;
  text-align: center;
}
.carousel-indicators li {
  width: 15px;
  height: 15px;
  background: #ccc;
  margin: 0 5px;
  display: inline-block;
  list-style: none;
  border-radius: 50%;
}

.item {
  display: none;
}

.active {
  display: block;
}
<div class="container">
  <div id="myCarousel" class="carousel slide" data-ride="carousel">
    <div class="carousel-wrapper">
      <div id="carousel-example-generic" class="carousel slide">
        <!-- Indicators -->
        <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>

        <!-- Wrapper for slides -->
        <div class="carousel-inner">
          <img src="https://placehold.it/500x250" class="item active img-responsive" alt="">
          <img src="https://placehold.it/500x250" class="item img-responsive" alt="">
          <img src="https://placehold.it/500x250" class="item img-responsive" alt="">
        </div>

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

      </div>
    </div>
  </div>
</div>

关于css - 使轮播在所有设备中响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45108839/

相关文章:

HTML CSS 响应式地在两列中堆叠图像

iphone - 响应式网站的一页在 iPhone 上模糊/模糊

javascript - 单击它时隐藏一个div

Javascript - 如何扩展此脚本以合并另一个类更改?

css - 在灵活的导航上放置背景图像

javascript - 用星号屏蔽 HTML 表单文本字段

php - 如何防止用户为网址添加书签?

javascript - 顶部导航栏调整大小

html - 悬停在列表元素上的图像

html - 滚动时部分内容与标题重叠