vue项目用原生js动态创建的div的样式不起作用该怎么办?

Video.js组件在Vue项目中的综合使用详解(多个视频+倍速播放) Video.js —— 一款开源且功能丰富的web视频组件 Video.jsVue项目中的综合使用详解(多个视频+倍速播放) 开发中,使用video标签自带的属性难以达到我们实际所需要的效果;例如视频的倍速播放功能,利用原生代码重写一个视频标签又太过于繁琐(PS:主要是懒)。在这里,向大家推荐一款很好用的组件video.js,这是一个开源的web视频组件([video.js官网](https://videojs.com/)),其使用基于html5的video标签,同时支持HTML和Flash视频,下面向大 阅读详情

vue项目用原生js动态创建的div的样式不起作用该怎么办

一、问题描述

最近做项目遇到这样一个奇怪的问题,用了高德地图的自定义窗体,但是发现样式无论如何都不起作用。网上查了些资料才得以解决

先看一下不起作用的代码
在这里插入图片描述
在这里插入图片描述
可以看到样式和动态创建的div都没问题,但是样式就是不起作用,如下图
在这里插入图片描述

二、问题解决

通过查看控制台可以看到样式起作用的div都有这样一个特征
在这里插入图片描述
都有data-v-xxxxxx这样类似的

再看看我们自己写的渲染出来是什么样的
在这里插入图片描述
可以发现并没有上面的特征,所以我就猜想是因为这个原因造成的

那么如何解决这个问题呢?

首先看vue中style的一个属性scoped

在vue项目中通常会给style标签加上scope属性,以此来实现样式的私有化,避免全局污染。
但有的时候这个属性又会带来麻烦:当引入第三方组件且需要修改其样式时,通常出现没有修改成功的情况

记住以下这几句话,或许你就明白问题出在哪里了

1、添加scoped属性之后,DOM节点添加了一个不重复的data属性来表示其唯一性
2、添加scoped属性之后,DOM节点的css选择器末尾添加了data属性选择器来私有化该元素的样式
3、添加scoped属性之后,会给组件的最外部添加data属性,如果组件里面还有包含其他组件,那么其他组件是作用不到的

所以最终的解决办法就是去掉style的scoped属性,或者再额外写一个style,这个style不要加scoped,vue是允许写多个style的
在这里插入图片描述
在这里插入图片描述

前端必知必会-Vue v-if 指令 本文介绍了Vue v-if 指令的使用,如有问题欢迎私信和评论。 阅读详情

相关推荐

D3.js 3D饼图避坑指南:Vue项目中的样式冲突与性能优化

本文深入探讨了在Vue项目中集成D3.js构建3D饼图时遇到的样式冲突与性能瓶颈。通过分析Vue样式作用域与D3.js直接DOM操作的冲突根源,提供了使用深度选择器、模块化渲染逻辑等实战解决方案,并针对大数据量场景分享了SVG/Canvas渲染优化、动画防抖及内存管理等性能提升策略,帮助开发者打造高性能、可维护的数据可视化组件。

garlic的博客 893

【BUG】【CSS】【JSJavaScript动态添加CSS的class类样式不生效,原因是css样式优先级在加载css文件的时候就确定下来的.

css的权重,多个class存在相同参数名不同参数值,优先级是根据css加载的class类名顺序的...

南方者的博客 4445

小米路由器安装Misstar tools 和MIXBOX

1.该教程适用于如下路由器: 小米路由器1代硬盘版(R1D) 小米路由器mini(R1CM) 全新小米路由器硬盘版(R2D) 小米路由器3(R3) 小米路由器3G(R3G) 小米路由器Pro(R3P) 小米路由器HD(R3D) 2.Misstar2.0在线安装 方法如下: 1.根据路由器对应文件解压文件,把解压目录(比如小米3路由器为R3)和offline_install.sh到U盘根目录,并插入路由器 2.ssh登录后,cd到U盘的目录,比如小米3路...

wybarcelona的博客 2万+

vue scoped 样式修改 】框架或插件组件样式更改及/deep/ 警告

在做vue项目的时候,很多人应该已经碰到在vue 组件中,style 局部修改样式更改不了 <!-- 这个是 B 组件 --> <template> <div> <h1 class="my">我是B组件</h1> </div> </template> <!-- A组件 --> <tem......

qq_35181466的博客 1183

Vue中使用原生js创建元素样式不生效解决办法

【代码】Vue中使用原生js创建元素样式不生效解决办法。

qq_45118905的博客 3568

关于vue动态添加dom节点及样式不生效问题的解决办法

属性,那么样式只会应用到当前组件的作用域内,而不会影响其他组件或全局样式。时,新添加的HTML内容中的类名无法生效,因为样式作用域被限制在组件内部。在Vue中,如果你的样式标签中包含。指令将HTML内容渲染到元素中。2.类名不生效问题解决。

weixin_40243502的博客 3129

vue中实现div可编辑,并插入指定元素,样式

vue中实现一个既可以编辑内容,有可以动态编辑内容插入一个带有样式的内容,改变默认内容后,这个样式消失的效果,这里来整理下调研与解决实现问题之路。

weixin_44727080的博客 8525

activeX控件在vue项目js原生中的使用

1.js原生中的使用 1.1引入activeX控件。代码如下: <object classid="clsid:5C39237F-7BD0-404E-ACAE-AF3C00FFA88A" codebase="UhfAx.CAB#version=1,0,0,1" height="0" id="uhfAx" style="display:none" viewastext width="0"&gt...

qq_40364610的博客 2965

Vue动态创建组件并插入到页面中

爱总结,爱板砖,爱生活 引言 最近在板砖途中遇到一个需要动态创建Vue组件并插入到页面上的需求,之前没有遇到过这类需求,经过一番百度搞定这个问题,在这里写下总结,作为回顾。 心得 动态创建组件依靠Vue.extend 案例引入 现在有下面这样一个需求需要用vue实现,图来… 案例分析 案例中用户通过点击新增按钮,新加下一个页签,要实现这个需求只能通过动态的创建组件,然后添加到页面中,下面来实现这个需求(页签内容部分就不做了,重点放在动态创建页签按钮) 案例实现 <div id="app" class

qq_40755381的博客 1万+

原生JS实现树状结构列表

树状结构列表,这个技术点之前有写过了,是基于vue讲解,但似乎都没有解决痛点,最基础的原生JS该怎么实现呢? 这篇文章会全面详细的介绍树状结构列表的实现,从数据处理成树状结构,到动态生成dom节点渲染页面。 确定原始数据结构 原始数据是需要按照下面这种结构来定义的,如果原始数据已经是被后端处理成树状结构,就可以省略这一步骤。 let data = [ { "id": "1", "name": "1", "fatherId": "0", ..

wendZzoo的博客 3462

js vue 创建一个div_学习Vue:JS动态创建vue组件

先看Modal.vue代码{{title}}[隐藏][关闭]{{{content}}}exportdefault{props:{width:String,height:String,title:String,isAutoClose:Boolean,isModal:Boolean,isShow:Boolean},ready(){let_$el=this.$elle...

weixin_39639653的博客 217

Vue中的v-for循环,实现div块的循环生成

前言 大家好,这里是果力成,老规矩,学之!最近在做前端页面遇到一个小问题,说来也不难,但还是花费了我的好些时间,保持习惯记录一下。在前端学习中不免遇到一个div或者一个数组的循环产生,因为挨个儿传数据显然不是最优的。这里讲述的是Vue中的 v-for循环,生成的是div块。 HTML v-for,可以循环普通的数组,数字,对象。这些在其他优秀博主那里会得到非常详细的介绍,参考如下: http://t.csdn.cn/aBwsD 我就不做赘述啦。 简单说明一下,当前的页面只有一个div块级元素,需求是

qq_58372242的博客 1万+

vue js css点击水波样式

div 按钮 click事件方法不能带括号 () ! <div class="ripple" @click="touchstart" > <router-link to="/">首页</router-link> </div> click 方法 获取鼠标点击位置 e.offsetX // 获取相对 x坐标 e.offsetY // 获取相对 y坐标 tou..

ownlight的博客 785

vue项目 支付宝 支付

vue项目 支付宝 支付 关于支付宝支付,调后端接口之后会返回一个form表单,我们只需要将这个form表单用JS动态创建至页面中调用即可; 后端返回的数据: <form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?charset=UTF-8&method=alipay.trade.page.pay&sign=E6bPCDpuDO392x%2BTXH7NrCPc

zhuzhucaicai的博客 3102

vue项目里面使用better-scroll动态创建多个滚动列表

vue项目里面使用better-scroll动态创建多个滚动列表 之前的项目有需求如下: 一件商品有一种或者多个种搭配,在商品详情页点击更多搭配,进入搭配页根据其搭配种类动态生成对应的横向滚动条,滚动插件我用的是better-scroll 图片效果如下: 请求回来的数据格式是数组里包含数组,大数组是搭配的种类列表,小数组是对应搭配的单品列表,代码如下: html页面渲染: <div class="coll-item-box" v-for="(item,index) in tryCollArr"

weixin_45115895的博客 936

vue路由router动态创建项目

项目主要是动态路由创建,简单的请求和删除,添加功能

shi15926lei的博客 507

js手写一个element的弹窗,方便修改自己想要的样式

由于每次修改element的弹窗样式颜色觉得麻烦,于是就想着自己搞一个,想怎么玩就怎么玩,开干,走起 1、首先创建div 2、给div添加内容 3、把div放入页面中显示 4、添加样式 5、添加事件 6、完成移除添加div 一、如何创建div,使用document.createElement const div = document.createElement("div"); div.innerHTML = `<div >测试</div>` ...

weixin_41277748的博客 1591

js新建dom节点添加类,类名被解析但是样式不加载

2.使用样式穿透,跳过scoped,这样就不用去除scoped造成全局样式污染。1.Vue组件中样式Style中scoped导致样式局部生效,因为采用scoped每个类渲染后会有一个单独的data-v-xxxx编码格式,防止样式污染,去除即可。4.重新创建一个CSS/SCSS样式文件,然后在Vue组件中引用该文件即可,将不生效的样式都放在该样式文件中,不需要再去除scoped和deep。3.可能是类的优先级,在子类前加上父类,这里时动态创建的类,所以使用了也没效果。

m__yue的博客 575

基于自抗扰控制的虚拟同步发电机二次调频控制研究

摘要:本文针对高比例可再生能源并网导致的电力系统频率稳定性问题,提出基于自抗扰控制(ADRC)的虚拟同步发电机(VSG)二次调频控制策略。通过分析VSG工作原理和传统调频方法的不足,设计了非线性ADRC和线性ADRC两种控制器,详细阐述了参数整定方法。仿真结果表明,该策略能有效消除频率稳态偏差,提升系统抗扰能力,为分布式电源参与电网调频提供了新思路。 关键词:虚拟同步发电机;自抗扰控制;二次调频;频率调节;抗扰能力

huanghm88的专栏 211

中国行政区划矢量数据(省、市、县)

资源整理自全国1:100万基础地理数据,数据格式为shp矢量数据,由公众号数读城事整理,数据仅供学习之用,请您自行检查数据的准确性,侵删。

上一篇: vue插槽的使用,以及vue2.6之前和vue2.6之后(包含vue3.x)的区别
下一篇: 前端开发经常使用的vscode的插件
丑小鸭变黑天鹅
博客等级 码龄8年 153粉丝 · 181原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值