十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
.box{
创新互联建站是一家专注于成都网站设计、网站制作与策划设计,石城网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:石城等地区。石城做网站价格咨询:18982081108
border:1px solid;
}
div className='box' /div
在组件中使用scoped属性,父组件的style样式将不会渗透到子组件中,然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,这么设计的目的是父组件可以对子组件根元素进行布局
最近项目中要求实现夜间模式,整理一下实现方法。
ps. 我们的项目是混合开发,所以夜间模式要通过原生交互实现,如果直接是h5项目,则可省去原生交互这块。
step1 原生交互方法
step2 获取模式方法
step3 实现方法
1、使用css大类区分
2、针对不同class类定义css属性全局变量
3、全局引入样式文件(main.js中引入)
4、页面中可定义css私有变量(包含页面中特殊的颜色属性,不止涉及亮度更改的图片)
变量定义规范:--(页面名称)-自定义
建议将白天与夜间模式图片区分两个文件夹存储
5、变量使用规范
总结:
1、注意css变量的使用的兼容性,例如安卓5的手机可能识别不了变量,解决方法:postcss可以试试看
2、如果项目中已使用less,可直接用less来实现,现未发现其兼容性问题(下一篇文章我会写less实现夜间模式)
可能是因为浏览器缓存了样式文件导致。
可以在css文件引用的末尾随便加个请求参数,如:main.css?v=201804091834,浏览器就以为是个新文件,然后从服务器重新下载该文件。
el-table-column并不是一个dom节点,所以infotext这个类究竟用在哪,需要看下el-table-column这个组件的实现才知道。
用了第三方组件的必然都会遇到你这样的问题,我说下我的解决方法,不一定是好的。
一个vue文件可以写多个style/style,加上socped代表本组件的样式,不污染全局。如果需要覆盖第三方组件样式,则不能加scoped,因此需要另写一个style.xxx-component{...}/style,这里用一个大类包裹防止污染全局。
接着,我用比较笨的方法(有好的方法请告知),就是打开f12检查究竟要覆盖哪些样式,然后写在没有加scoped的style里即可。
其实一些好的第三方UI库都有提供自定义样式的方法的,这样实现起来才是最便捷的。