You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue项目中PrimeVue Toolbar组件页面居中渲染异常求助

问题:PrimeVue Toolbar组件在develop分支样式异常(居中而非两端分布)

我们团队开发Web应用时,将伙伴分支的Toolbar组件代码完整复制到develop分支的toolbar.component中后,出现样式不一致问题:

  • 伙伴分支效果:Toolbar内的logo居左、按钮组居右,整体呈两端分布
  • develop分支效果:整个Toolbar内容居中显示(注:develop分支暂无首页模块,Toolbar下方为空)

以下是相关代码:

toolbar.component.vue

<script>
export default {
  name: "toolbar-component",
}
</script>

<template>
  <pv-toolbar class="toolbar">
    <template #start>
        <img src="../../assets/images/flexpal-logo.png" alt="Flex Pal Logo" style="width: 350px; height: 70px;"/>
    </template>
    <template #end>
      <ul class="list-none p-0 m-0 overflow-hidden" style="display:flex; ">
        <li>
          <Button>
            <a href="/home"> Home </a>
          </Button>
        </li>
        <li>
          <Button>
            <a href="/routines"> Routines </a>
          </Button>
        </li>
        <li>
          <Button>
            <a href="/nutrition"> Nutrition </a>
          </Button>
        </li>
        <li>
          <Button>
            <a href="/book_section"> Book Session </a>
          </Button>
        </li>
        <li>
          <Button>
            <a href="/profile"> Profile </a>
          </Button>
        </li>
      </ul>
    </template>
  </pv-toolbar>
</template>

<style scoped>
.toolbar{
  width: 100vw;
  display: flex;
  justify-content: space-around;

  li{
    list-style-type: none;
    display: inline;
    padding: 10px;
    Button{
      background-color: #6baada;
      border-radius: 10px;
      a{
        text-decoration: none;
        color: white;
      }
    }

  }
}
</style>

main.js(两个分支代码完全一致)

import { createApp } from 'vue'
import './style.css'
import app1 from './app.vue'

import PrimeVue from "primevue/config";
import DialogService from "primevue/dialogservice";
import ConfirmationService from "primevue/confirmationservice";
import ToastService from "primevue/toastservice";

import 'primeicons/primeicons.css';
import 'primevue/resources/primevue.min.css';
import 'primeflex/primeflex.css';
import router from "./router/index.js";

// 注册UI组件
import Button       from "primevue/button";
import Card         from "primevue/card";
import SelectButton from "primevue/selectbutton";
import Sidebar      from "primevue/sidebar";
import Toolbar      from "primevue/toolbar";
import Calendar from 'primevue/calendar';
import Tag from "primevue/tag";
import InputText from 'primevue/inputtext';
import Menubar      from "primevue/menubar";
import Accordion from 'primevue/accordion';
import AccordionTab from 'primevue/accordiontab';
import Panel from 'primevue/panel';
import FloatLabel from 'primevue/floatlabel';
import Avatar from "primevue/avatar";
import Divider from "primevue/divider";

const app = createApp(app1);

app.use(PrimeVue, { ripple: true })
    .use(DialogService)
    .use(ConfirmationService)
    .use(ToastService)
    .component('Button', Button)
    .component('Card', Card)
    .component('pv-select-Button', SelectButton)
    .component('pv-sidebar', Sidebar)
    .component('Toolbar', Toolbar)
    .component('Calendar', Calendar)
    .component('Tag', Tag)
    .component('pv-InputText', InputText)
    .component('pv-button', Button)
    .component('Menubar', Menubar)
    .component('Accordion', Accordion)
    .component('AccordionTab', AccordionTab)
    .component('pv-floatLabel', FloatLabel)
    .component('pv-panel', Panel)
    .component('pv-toolbar', Toolbar)
    .component('pv-avatar', Avatar)
    .component('pv-divider', Divider)
    .use(router);
app.mount('#app');

app.vue(两个分支代码完全一致)

<script>
  import ToolbarComponent from "./public/components/toolbar.component.vue";

  export default {
    name: 'app',
    components: {ToolbarComponent},
    title: 'Flex Pal',
    data() {
      return {
        drawer: false,
        items: [
          { label: 'Routine List', to: '/routine-list'},
          { label: 'Plans', to: '/plans'},
          { label: 'Programming Session', to: '/programming-session'},
          { label: 'Home', to: '/home'},
        ]
      }
    },
    methods: {
    }
  }
</script>
<template>
  <toolbar-component></toolbar-component>
   <router-view/>
</template>
<style >
</style>

排查情况

已确认项目根目录的style.css为空,且完整复制了所有相关代码,但Toolbar仍保持居中显示。尝试过修改Toolbar及内部组件的样式(如移除内边距、调整flex布局属性等),均无效果。虽然可以基于伙伴分支新建分支继续开发,但希望排查出问题根源,寻求技术帮助。

内容的提问来源于stack exchange,提问作者Juan Fabritzzio Pescoran Angul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 06:05:03