vue中修改swiper样式

问题

  vue单文件组件中无法修改swiper样式。

解决

  1,单文件组件中:新增一个style 不加scoped 让它最终成为全局样式。只在其中操作swiper的样式。

<style lang="scss">
  .swiper-container{
    .swiper-pagination{
      .swiper-pagination-bullet{
        width: 14px;
        height: 14px;
      }
    }
  }
</style>// 项目中多次使用swiper 的话 就给swiper-container 添加特定className作为区分。
<div class="swiper-container index-swiper"><div>
<style>
    .index-wiper{}
</style>

 ,2,新建专用于操作swiper 样式的css, 在main.js中引入, 使用!import保证比swiper 预设样式权重高。

产生原因

  1,单文件中的template,和style 都会经过vue-loader的编译。在style标签上使用了 scoped 属性的话,template中手写的元素和style之间会通过vue-loader生成的一个自定义属性,形成呼应关系,style只对对应的template起作用。编译过程中由swiper 生成的分页器标签不会经过vue-loader的编译,所以选不到。

// vue-loader 生成的 data-v-2967ba60
footer-bar[data-v-2967ba60]

<div class="footer-bar" data-v-2967ba60>

  2,不使用scoped 修饰的都是全局样式,如果在全局样式中还是覆盖不了的话说明选择器权重没有swiper中预定义的高。

原文地址:https://www.cnblogs.com/keliguicang/p/11074930.html

时间: 2024-10-10 12:28:54

vue中修改swiper样式的相关文章

vue中修改子组件样式

一.全局修改 1.在App.vue中设置,引入公共样式及个别页面的特殊样式common.css: 例如:<link rel="stylesheet" type="text/css" href="static/assets/css/common.css"> 下边的写法没用过参考链接中给的 <a href="http://home.cnblogs.com/u/134870/" target="_blan

vue中修改第三方组件中的样式

项目在中修改第三方组件样式,但由于 scoped 属性的样式隔离,可能需要去除 scoped 或是另起一个 style .这些做法都会带来副作用(组件样式污染.不够优雅),样式穿透在css预处理器中使用才生效 我们可以使用 >>> 或 /deep/ 解决这一问题 <style scoped> 外层 >>> .el-checkbox { display: block; font-size: 26px; .el-checkbox__label { font-si

在 vue 中使用 swiper 的异步问题解决

一.html 及引入文件 1.引入文件 vue,axios,mock,swiper,jquery的js文件 swiper css文件 2.css样式 给 swiper 设置宽高 3.html swiper html swiper使用方法:  https://www.swiper.com.cn/usage/index.html 二.渲染数据 1.  用mock生成随机虚拟数据 2. 用 axios 执行get请求 请求数据 并赋值给data中的imgList 3.循环使用v-for指令绑定数据渲染

vue-cli -- vue中使用swiper

一.滑块组件 1.vue中Swiper 1.安装swiper npm install swiper -S 2.启用swiper Vue.use(swiper) 3.引入swiper样式 在index.html或者main.js文件中引入css样式文件 import '../swiper.css' 原文地址:https://www.cnblogs.com/zjh-study/p/10647782.html

Vue 中 css scoped 样式穿透

scoped看起来很好用,当时在Vue项目中,当我们引入第三方组件库时(如使用element-ui),需要在局部组件中修改第三方组件库样式,而又不想去除scoped属性造成组件之间的样式覆盖.这时我们可以通过特殊的方式穿透scoped. 1.stylus的样式穿透 使用 >>> .wrapper >>> .swiper-pagination-bullet-active background: #fff复制代码 2.sass和less的样式穿透 使用 /deep/ //

vue中修改第三方组件的样式不生效

问题 在使用element-ui时,有时候想要修改组件内的样式,但不成功,例如 <div class="test"> <el-button>按钮</el-button> </div> <style lang="less" scoped> .test{ .el-button span{ background:red; } } </style> 以上对.el-button span的样式不生效 问题

vue中引入swiper插件

这里我们使用npm的方式安装swiper插件. 1.npm install vue-awesome-swiper --save 2.在main.js文件中引入文件 import Vue from 'vue' import VueAwesomeSwiper from 'vue-awesome-swiper' 3.然后注册全局的swiper Vue.use(VueAwesomeSwiper) 4.在模板中使用 //引入swiper.cssrequire('swiper/dist/css/swiper

解决几个vue中是swiper插件遇到的bug

1.在使用swiper插件的时候,如果内容都是静态资源的话不会出现错误,但是动态的话会出现划不动,或者白屏 分析:这种bug是怎样出现的,一般都是初始化的位置不对 方法: swiperInit() { var mySwiper = new Swiper('.swiper-container', { pagination : '.swiper', paginationType : 'bullets', autoplay : 200, }) } //这个是swiper的初始化方法,如果你是在crea

vue中内联样式

一. 使用内联样式 1. 直接在元素上通过 `:style` 的形式,书写样式对象 <h1 :style="{color: 'red', 'font-size': '40px'}">这是一个善良的H1</h1> 2. 将样式对象,定义到 `data` 中,并直接引用到 `:style` 中 (1) 在data上定义样式: data: { h1StyleObj: { color: 'red', 'font-size': '40px', 'font-weight':