问题
今天才注意到编译后的vue代码,在网站的顶部有一个margin-top: 60px的空白,有点不解,于是去看源码。
代码
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
没有margin-top: 60px啊,啥情况……
接着我发现用npm run dev运行的代码是正常的,没有这个顶部60px空白
但编译出来的dist里是有这个空白的。
那么我直接加一个margin-top: 0
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 0;
}
然而……编译后网站的元素是这样的:
懵了,难道还有个全局的app的样式?
解决方法
管它是不是有个全局的app样式,把App.vue文件中的style设置成scoped就完事了。
<style scoped>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 0;
}
</style>
问题根源
刚刚发现我的问题出在了哪里,原来在其他vue文件中也有个#app的样式……
所以正常情况下,只要把App.vue中的margin-top: 60px去掉就好啦