1.发现问题
在进行移动端适配的时候,为了在各个型号的设备上能够更好的提现结构排版,决定采用rem布局。采用rem布局的时候html的字体font-size是有一个标准的。我这边用的是750px的设计稿,就采用1rem = 100px。
在使用的过程中会用到一些第三方UI组件,而第三方UI组件是以px单位为标准的。
使用时发现:本来应该细长的提示语句变得很大!
最后发现可能是因为这个icon是继承了html设定的font-size,尝试加一些样式上去还是无效。(如果rem布局上有直接更改第三方组件样式成功的小伙伴欢迎告诉我哟!)
2.解决问题
有一种方法是可以可以用 px2rem-loader 插件可以将第三方ui库的px转换成rem单位,我们在写样式的时候用px,这个插件会帮我们转换为rem单位。(因为暂时只是一个提示框遇到这样的问题,不想大费周章,所以决定暂时不用,以后再用吧嘿嘿!)
自己写小组件,在网上冲浪了一会,选了几个小demo实现可以了下,确实比较好!(采用这个方法!)
3.自定义全局消息组件
大概效果有点模仿 element-ui 中的提示样式,反正最后效果图如下:
vue-cli3中component下新建message文件夹,里面再建如下:
Message.vue源代码如下:
<template> <transition name="fade"> <!--这个是动画的过渡效果--> <div class="message" :class="type" v-if="visible"> <div class="content"> <i class="icon-type iconfont" :class="'icon-'+type"></i> {{content}} <i v-if="hasClose" class="btn-close iconfont icon-close" @click="visible=false"></i> </div> </div> </transition> </template> <script> export default { name: 'Message.vue', data () { return { content: '', time: 3000, visible: false, type: 'info', // 'info','warning','error','success' hasClose: false } }, mounted () { this.close() }, methods: { close () { window.setTimeout(() => { this.visible = false }, this.time) } } } </script> <style scoped lang="scss"> /* 动画效果 淡入淡出 */ .fade-enter-active, .fade-leave-active{ transition: all 0.5s ease; } .fade-enter, .fade-leave-active{ opacity: 0; } /* 不同的提示语的样式 */ .info, .icon-info{ background-color: #DDDDDD;/*#f0f9eb*/ color: #909399; } .success, .icon-success{ background-color:#f0f9eb; color: #67C23A; } .warning, .icon-warning{ background-color: #fdf6ec; color: #e6a23c; } .error, .icon-error{ background-color: #fef0f0; color: #f56c6c; } .message { position: fixed; left: 50%; top: 10%; transform: translate(-50%, -50%); width:300px; height:30px; line-height: 30px; font-size: 16px; padding: 10px; border-radius: 5px; .content{ width:100%; height:100%; text-align:left; .icon-type{ margin:0 10px 0 30px; } .btn-close{ font-size:20px; margin:0 0 0 70px; color:#ccc; } } } </style>
index.js源代码如下:
给Vue添加$my_message
方法,判断参数,使用 $mount()
给组件手动挂载参数,然后将组件插入页面中
import Vue from 'vue' import Message from './Message.vue' const MessageBox = Vue.extend(Message) Message.install = function (options, type) { if (options === undefined || options === null) { options = { content: '' } } else if (typeof options === 'string' || typeof options === 'number') { options = { content: options } if (type !== undefined && options !== null) { options.type = type } } let instance = new MessageBox({ data: options }).$mount() document.body.appendChild(instance.$el) Vue.nextTick(() => { instance.visible = true }) } export default Message
main.js中:
// 在main.js里面全局引入 自定义的全局消息框组件 import Message from './components/message' Vue.prototype.$my_message = Message.install
页面中调用:
this.$my_message('你这个大笨猪吼吼吼!'); this.$my_message('你这个大笨猪吼吼吼!','success'); this.$my_message({ content:'服务器连接失败!', // 弹出的文字内容 time:5000, // 弹出后多久消失 type:'success', // 弹出的消息类型 hasClose:true, // 让按钮可以被使用,默认按钮是false不可以使用的 });
4.注意事项
本Demo中弹出的提示语句中的小图标是iconfont里面的。
总结
以上所述是小编给大家介绍的解决vue自定义全局消息框组件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]