2018年
前端架构设计开篇
最近在读《前端架构设计》,整书只有148页,薄薄的一本,但是看起来还是很有份量的。这本书展示了一名成熟的前端架构师对前端开发全面而深刻的理解。作者结合自己在Red Hat公司的项目实战经历,探讨了前端架构原则和前端架构的核心内容,包括工作流程、测试流程和文档记录,以及作为前端架构师所要承担的具体开发工作,包括HTML、JavaScript和CSS等。从豆瓣等评论来说,褒贬不一,但是个人感觉读一读还是很有必要的,取其精华去其糟粕即可。
transform导致模糊bug
项目中用到了弹窗居中,有些弹出正常,有些弹出就模糊。这就比较奇怪了,一样的样式,为啥会出不同的结果呢?
css水平居中是有很多办法的,项目里面用的是这样的居中方式:
position: absolute;
left: 50%;
transform: translateX(-50%);然后一点一点的去掉样式,定位到是transform导致的!用搜索引擎查了下,果然不止我一个人有问题,看来有解决方案了。
原来出现模糊的原因是因为元素的高度、宽度中有奇数, 使用类似translate(-50%,-50%)之后,相当于宽度、高度除以2的效果,会出现 0.5px。像素就是最小的单位了,要么1,2,3,要么就是0,没有小数。
好在这个项目里面的弹出层宽度是可以设置宽度的,看了下这个模糊的弹出,设置的宽度是865px,好吧,那就改改宽度解决问题!但是,如果是不定高度垂直居中呢?这就比较棘手了,不能用这个方案了,所以transform对于居中不是一个好的解决方案,在实际项目中应该尽量避免此方案!
所以,如果考虑兼容就老老实实的用table + table-cell方式去居中,不考虑兼容的话使用flex方式去居中!
Typecho插入视频
比较水的一篇文章,没有什么技术含量,直接使用HTML5的video标签:
<video src="视频地址" width="100%" height="440" controls="controls"></video> Web Developer in 2018
Office文档的在线查看
有时候博客上面要分享一些文档之类的,不仅仅可以下载,还需要在线预览。就像我要分享VUE的那个PPT,之前是放在SlideShare上面的,后来被墙了,只能放在国内的MySlide,但是有些问题就是转换之后效果没了,或者文字错位了,这个是不能忍受的。
后来查了查Office他爹,其实早在之前就做了Office文档的在线查看编辑的功能,只不过不知道!
2018广联达用户体验部团建之乌兰布统
乌兰布统景区位于内蒙古自治区赤峰市克什克腾旗西南部,曾是清朝皇家木兰围场区,乌兰布统为蒙语,汉语的意思为红色的坛形山,实指大、小红山,是木兰围场的一部分 。
饿了么树形组件横向滚动条问题
项目里面用到了饿了么的el-tree,但是给el-tree包裹div时,如果父级宽度设置比节点宽度小,不会出现横向滚动条。
然后去github上面搜了一下,还又不少人遇到这样的问题,把代码放出来
Vue 3.0 Updates
尤大关于VUE 3.0介绍,可以提前看一看了!
webpack打包后样式丢失问题
VUE项目在本地运行样式没有问题,上线后发现样式没有生效,在浏览器调试模式下,发现-webkit-box-orient: vertical;属性没了。
爱犬情深
解决vue项目ip地址无法访问的问题
问题
本地vue-cli启动了一个项目只能通过localhost:8080访问到,同一局域网下其他的手机和电脑并不能通过ip地址访问调试。
原因
vue-cli项目是通过命令行一键生成的,配置文件中默认生成的是本地调试模式,默认访问地址是localhost:端口号。
解决
- 查看
config文件夹下的index.js,将dev中将host重新定义为:0.0.0.0即可。 - 修改
package.json中script下dev的值,在后面加入--host 0.0.0.0也可以解决
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",
"start": "npm run dev",
"lint": "eslint --ext .js,.vue src",
"build": "node build/build.js"
}, Vue修饰符
表单修饰符
.lazy
在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步。你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步:
<!-- 在“change”时而非“input”时更新 -->
<input v-model.lazy="msg" > Typecho调取一言API
做成通用的了,放在functions.php里面
function getHitokoto(){
$url = 'https://v1.hitokoto.cn/?c=g'; // http://api.hitokoto.cn/
$array_data = json_decode(file_get_contents($url),true);
$content = $array_data['hitokoto'].'----《'.$array_data['from'].'》';
echo $content;
}调用:
<?php getHitokoto(); ?>代码还有优化空间,抽空加一个缓存吧,频繁的请求,一言就给我502了。
看到评论里面乱码同学有今日诗词API,推荐使用。
减小Vue打包体积
之前写过一篇《VueRouter懒加载》,就是解决加载过慢,这次是优化一下体积。


