CSS 实战笔记:记录我的成长与收获

滑动定屏

fullpage组件:alvarotrigo.com/fullPage/

scroll-snap-type

background-attachment: fixed;

CSS filter属性

将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像、背景和边框的渲染。

outline和border

字体官方下载地址

github.com/googlefonts... 将这个链接中的blob改为raw就可以直接下载Unbounded-Regular字体,即 github.com/googlefonts...

github.com/adobe-fonts... ------> github.com/adobe-fonts...

Swiper 实现轮播图

官网地址: swiperjs.com/

注意: swiper需要在data大于0时呈现,即vue需要判断v-if="data && data.length > 0",否则会出现切换到最后一屏,就无法切换到第一屏的问题。

vue-awesome-swiper 3 实现案例

js 复制代码
 "vue-awesome-swiper": "^3.1.3",
 "swiper": "^4.4.2",
js 复制代码
<template>
  <div>
    <swiper :options="swiperOption" class="feat-swiper" ref="swiper" key="feat-swiper" v-if="data && data.length > 0">
        <swiper-slide class="feat-item" v-for="item in data" :key="item.id">
          <img :src="item.img" class="img" />
        </swiper-slide>

        <!-- 自定义导航按钮 -->
        <div class="swiper-pagination" slot="pagination"></div>
        <div class="swiper-button-prev" slot="button-prev"></div>
        <div class="swiper-button-next" slot="button-next"></div>
      </swiper>
  </div>
</template>

<script>

export default {
  data() {
    return {
      data: [],
      swiperOption: {
        loop: true,
        observer: true,
        observeParents: true,
        speed: 600,
        autoplay: {
          delay: 3000,
          stopOnLastSlide: false, // 当自动播放(autoplay)到达最后一个幻灯片时,自动播放将停止**。注意:**在循环模式(loop mode)下,此参数无效**。
          disableOnInteraction: false, // 将其设置为 `false` 时,**在用户交互(例如滑动)后,自动播放(autoplay)将不会被禁用**,而是会在每次交互后重新启动。
        },

        pagination: { // 自定义分页功能
          el: '.feat-swiper .swiper-pagination',
          clickable: true,
        },
        navigation: { // 自定义导航功能
          nextEl: '.feat-swiper .swiper-button-next',
          prevEl: '.feat-swiper .swiper-button-prev',
        }
      },
    };
  },

 
  
};
</script>

<style lang="scss" scoped>

    .feat-swiper {
      width: 1188px;
      padding: 50px 0;
      position: relative;
      .feat-item {
        position: relative;
        cursor: pointer;
        width: 988px;
        height: 588px;
        display: flex;
        justify-content: center;
        align-items: center;

        img.img {
          width: 945px;
          height: 535px;
        }

      }
      .swiper-button-next {
        width: 50px;
        height: 85px;
        transform: rotate(180deg);
      }

      .swiper-button-prev {
        width: 50px;
        height: 85px;
        transform: translateY(50%);
      }
      .swiper-pagination {
        ::v-deep .swiper-pagination-bullet {
          width: 14px;
          height: 14px;
          border: 1px solid #7db6d4;
          background-color: #fff;
          opacity: 1;
          position: relative;
          
       }
       ::v-deep .swiper-pagination-bullet-active::after {
          content: "";
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background-color: #7db6d4;
          position: absolute;
          top: 50%; 
          left: 50%; 
          transform: translate(-50%, -50%);
       }
      }

}

</style>
相关推荐
小鱼人爱编程7 分钟前
现代大前端是如何编码的?
android·前端·flutter
神仙别闹11 分钟前
基于Java+VUE+MariaDB实现(Web)仿小米商城
java·前端·vue.js
袁煦丞20 分钟前
低成本私有云存储方案Nas-Cab:cpolar实验室第508次成功挑战
前端·程序员·远程工作
小公主21 分钟前
「前端必备」Flex 布局全解析:从入门到深度计算,搞懂弹性盒子!
前端·css
江城开朗的豌豆38 分钟前
前端性能救星!用 requestAnimationFrame 丝滑渲染海量数据
前端·javascript·面试
江城开朗的豌豆39 分钟前
src和href:这对'双胞胎'属性,你用对了吗?
前端·javascript·面试
江城开朗的豌豆1 小时前
forEach遇上await:你的异步代码真的在按顺序执行吗?
前端·javascript·面试
万少1 小时前
HarmonyOS Next 弹窗系列教程(3)
前端·harmonyos·客户端
七灵微2 小时前
【后端】单点登录
服务器·前端
持久的棒棒君6 小时前
npm安装electron下载太慢,导致报错
前端·electron·npm