61,129
社区成员




<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
nav{
background-color: lightgray; height: 40px;
}
p{display:inline;}
</style>
<script src="js/vue.js"></script>
<script src="js/vue-router.js"></script>
</head>
<body>
<div id="app">
<nav>
<router-link to="/" style="margin-left:50px">page1</router-link>
<router-link to="/page" style="margin-left:120px">page2</router-link>
</nav>
<router-view></router-view>
<router-view name="main"></router-view>
</div>
<script>
var sidebar1 = {
template: `
<div><p>左侧导航栏一</p></div>
`
}
var com1 = {
template: `
<div><p>主内容一</p></div>
`
}
var sidebar2 = {
template: `
<div><p>左侧导航栏二</p></div>
`
}
var com2 = {
template: `
<div><p>主内容二</p></div>
`
}
const router = new VueRouter({
routes: [
{
path: '/',
components: {
default: sidebar1,
main: com1
}
}, {
path: '/page',
components: {
default: sidebar2,
main: com2
}
}
]
})
new Vue({
el: '#app',
router
})
</script>
</body>
</html>
<!-- 这是你的代码结构 -->
<div><p></p></div>
<div><p></p></div>
效果出不来的原因就出在这里
如果想用display来实现的话,对div设置display:inline-block样式,或者使用浮动