vue 可复用swiper以及scoped样式穿透(可以不受scoped的限制来修改样式)
参考: https://blog.csdn.net/dwb123456123456/article/details/82701740
https://blog.csdn.net/u014027876/article/details/81663080
https://www.jianshu.com/p/8601ccf91225
- 安装
npm install vue-awesome-swiper cnpm inatall vue-awesome-swiper
- main.js中引入
import vueSwiper from 'vue-awesome-swiper'
- component - ShopSlide.vue 中引入
import { swiper, swiperSlider } from 'vue-awesome-swiper' import 'swiper/dist/css/swiper.css' components: { swiper, swiperSlider }
- ShopSlide.vue代码
<template> <swiper :options="swiperOption" ref="mySwiper" v-bind:class="ifSlide?'':'swiper-no-swiping'"> <!-- slides --> <swiper-slide v-for="(picitem,index) in shopImgsList" :key="index"> <img :src="picitem.imgpath" alt="" style="display:inline-block;width:100%;vertical-align:middle;"> </swiper-slide> <div class="swiper-scrollbar" slot="scrollbar"></div> <div class="swiper-button-prev" slot="button-prev"></div> <div class="swiper-button-next" slot="button-next"></div> <div class="swiper-pagination pageIcon" slot="pagination"></div> </swiper> </template> <script> import { swiper, swiperSlider } from 'vue-awesome-swiper' import 'swiper/dist/css/swiper.css' export default { name: 'ShopSlide', data() { return { swiperOption: { notNextTick: true, loop: true, autoplay: 3000, speed: 800, direction: 'horizontal', grabCursor: true, setWrapperSize: true, autoHeight: true, autoplayDisableOnInteraction: false, // 如果需要分页符 pagination: '.swiper-pagination', // 如果需要前进后退按钮 nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', // 如果需要滚动条 scrollbar: '.swiper-scrollbar', paginationClickable: true, mousewheelControl: true, observeParents: true, debugger: true }, ImgsList: [], ifSlide: true } }, props: { shopImgsList: { type: Array, required: true } }, components: { swiper, swiperSlider }, watch: { shopImgsList: function(newVal, oldVal) { this.ImgsList = newVal; if(this.ImgsList.length == 1) { this.swiperOption.autoplay = false; this.ifSlide = false; } } } } </script> <style> .swiper-wrapper { font-size: 0; } .swiper-pagination.pageIcon { width: 3.75rem; height: .2rem; position: absolute; bottom: .1rem !important; text-align: center; line-height: .2rem; box-sizing: border-box; padding: 0 .3rem; font-size: 0; } .pageIcon span { background: rgba(0, 0, 0, .2); } .swiper-pagination-bullet-active { background-color: #ff7035 !important; opacity: 1; } .swiper-button-next { background-color: } .swiper-slide { width: 100%; height: 100% !important; line-height: 3.75rem !important; } .swiper-wrapper { height: 100% !important; line-height: 3.75rem !important; background-color: #fff; } .swiper-container-autoheight, .swiper-container-autoheight .swiper-slide { height: 100%; width: 100%; overflow: hidden; } </style>
- 其他组件内引用ShopSlide.vue
<template> <div class="shopImg"> <shop-slide :shopImgsList="shopImgsList"></shop-slide> </div> </template> <script> import ShopSlide from './ShopSlide.vue' export default{ data( ) { return{ shopImgList : [ { imgpath: '1.jpg '} , { imgpath: '2.jpg '}] } }, components: { ShopSlide } } <script>
- 样式穿透
<style scoped> .shopImg >>> .swiper-pagination-bullet-active{ background:#fff } </style>
或
<style lang="stylus" scoped> //stylus是一种css预编译语言,支持省略花括号,支持省略分号,代码整洁,支持引入,并且支持语法内函数 .shopImg >>> .swiper-pagination-bullet-active background:#fff </style>
vue 可复用swiper以及scoped样式穿透(可以不受scoped的限制来修改样式)的更多相关文章
- vue样式穿透
在一次这样的需求中,需要实现滑倒底部时自动请求数据,需要动态创建节点然后追加到某元素中,这期间遇到的问题就是在动态创建节点后,类名也已经加上了 ,但是样式就是没有生效,最后发现原因的产生竟然是< ...
- vue2.0 通过v-html指令渲染的富文本无法修改样式的解决方案
在最近的vue项目中遇到的问题:v-html渲染的富文本,无法在样式表中修改样式: 比如下面的代码,div.descBox里面的p标签的color样式并不是"color: blue" ...
- Vue 中 css scoped 样式穿透 ( stylus[>>>] / sass / less[/deep/] )
scoped看起来很好用,当时在Vue项目中,当我们引入第三方组件库时(如使用element-ui),需要在局部组件中修改第三方组件库样式,而又不想去除scoped属性造成组件之间的样式覆盖.这时我们 ...
- Vue中的scoped及穿透方法(修改第三方组件局部的样式)
何为scoped? 在vue文件中的style标签上,有一个特殊的属性:scoped.当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组 ...
- Vue中的scoped及穿透方法
何为scoped? 在vue文件中的style标签上,有一个特殊的属性:scoped.当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组 ...
- VUE中CSS样式穿透
VUE中CSS样式穿透 1. 问题由来 在做两款H5的APP项目,前期采用微信官方推荐的weui组件库.后来因呈现的效果不理想,组件不丰富,最终项目完成后全部升级采用了有赞开发的vant组件库.同时将 ...
- 防止vue文件中的样式出现‘污染’情况(html5 scoped特性)
近期在项目中出现了vue样式污染的情况: 一个页面刚进去时样式不正常,刷新之后,样式才才达到预期那样 在vue中,如果把样式写在vue文件的 style中,可能会出现样式污染的情况,这是要把写样式的标 ...
- vue加scoped后无法修改样式(无法修改element UI 样式)
有的时候element提供的默认的样式不能满足项目的需要,就需要我们队标签的样式进行修改,但是发现修改的样式不起作用 第一种方法 原因:scoped 解决方法:去掉scoped 注意:此时该样式会污染 ...
- vue scss 样式穿透
使用2个style的方式不够优雅,可以使用下面方式做样式穿透 .normal-field /deep/ .el-form-item { margin-bottom: 0px; } .normal-fi ...
随机推荐
- C#中,用户控件UserControl里面用Panl加载UserControl,并实现利用委托互相传值
用户控件主窗体结构:左侧树形菜单,右侧Panl: 根据点击的菜单节点,panl里面选择性加载某一个子窗体用户控件,并传值给子窗体: 反之,在子窗体进行相应的操作之后,传值给主窗体,触发主窗体的刷新. ...
- Redis本地集群搭建(5版本以上)
Redis本地集群搭建(5版本以上) 2019年11月3日10:05:48 步骤 1.下载安装Redis的安装包 2.复制5份,一共6份Redis的解压安装版,修改每个Redis节点的端口并开启节点 ...
- leetcode-210-课程表②
题目描述: 第一次提交: class Solution: def findOrder(self, numCourses: int, prerequisites: List[List[int]]) -& ...
- MySQL基础知识 数据库 数据表
1.数据库结构 库 表 数据 2. sql(structured query language)结构化查询语言 管理数据库 管理表 管理数据 3.数据库 增删改查 增 create database ...
- 【转载】TCP拥塞控制算法 优缺点 适用环境 性能分析
[摘要]对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点.以及它们的适用环境. [关键字]TCP拥塞控制算法 优点 缺点 适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端 ...
- 精度试验结果报告Sleep, GetTickCount, timeGetTime, QueryPerformanceCounter
一段简单的代码来实现精度试验 int main() { // 初始化代码 ...... int i = 0; while(i++ < 1000) ...
- loj6031「雅礼集训 2017 Day1」字符串
题目 首先先对\(s\)建一个\(\operatorname{SAM}\),设\(w=kq\) 发现\(k,q\leq 10^5\),但是\(w\leq 10^5\),于是套路地根号讨论一下 如果\( ...
- (转)NodeJS收发GET和POST请求
NodeJS收发GET和POST请求 目录: 一 express框架接收 二 接收Get 三 发送Get 四 接收Post 五 发送Post 一 express框架接收 1 2 3 4 5 app.g ...
- 【学术篇】SPOJ-DISQUERY
一道傻逼链剖我TM总共差不多写了一小时,调了将近一天!!!!!! 题目传送门:http://www.spoj.com/problems/DISQUERY/ 嗯,偷偷递小广告:SPOJ是个挺好的OJ ( ...
- Android开发 TextView的开发记录
前言 此篇博客是记录一些TextView开发上一些少用的开发功能项.目前开发记录如下: 添加图片 文字滚动 添加省略号 实现长文的收起和展开功能 改变一个字符串里自定字符的颜色或者大小 效果字体(粗体 ...