vue实现简单的轮播图(一)

先实现静态的轮播图

index.vue

   <nav class="msite_nav">
      <div class="swiper-container" >
        <div class="swiper-wrapper">
          <div class="swiper-slide food_types_container">
            <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
      <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
                  <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
                  <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
                  <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
                  <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
                  <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
                  <router-link class="link_to_food" :to="'./components'">
              <figure>
                <img src="../assets/8.jpg" />
                <figcaption>零食</figcaption>
              </figure>
            </router-link>
          </div>
        </div>
        <div class="swiper-pagination swiper-pagination-bullets">
          <span class="swiper-pagination-bullet swiper-pagination-bullets-active"></span>
          <span class="swiper-pagination-bullet"></span>
        </div>
      </div>
    </nav>

index.css

.msite_nav {
  padding-top: 1.1rem;
  background-color: #fff;
  border-bottom: 0.025rem solid #e4e4e4;
  height: 8.6rem;
}

.msite_nav .swiper-container {
  width: 100%;
  height: auto;
  padding-bottom: 0.6rem;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate(0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  -o-transition-property: -o-transform;
  -ms-transition-property: -ms-transform;
  transition-property: transform;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.food_types_container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
}

.food_types_container .link_to_food {
  width: 25%;
  padding: 0.3rem 0rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
figure,
figcaption {
  padding: 0;
  margin: 0;
  list-style: none;
  font-style: normal;
  text-decoration: none;
  border: none;
  color: #333;
  font-weight: normal;
  font-family: "Microsoft Yahei";
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
}
.food_types_container .link_to_food figure img {
  margin-bottom: 0.3rem;
  width: 1.8rem;
  height: 1.8rem;
}
.food_types_container .link_to_food figure figcaption {
  text-align: center;
  font-size: 0.55rem;
  color: #666;
}

/* 滚动点 */
.msite_nav .swiper-container .swiper-pagination {
  bottom: 0.2rem;
}
.swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px;
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}
.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
a {
  padding: 0;
  margin: 0;
  list-style: none;
  font-style: normal;
  text-decoration: none;
  border: none;
  color: #333;
  font-weight: normal;
  font-family: "Microsoft Yahei";
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
}

猜你喜欢

转载自www.cnblogs.com/combating/p/12206510.html