当前位置: 首页 > news >正文

vue2头部布局示例

网页头部布局(左Logo,右导航)

布局说明

  • 左侧:网站 Logo(可以是文字或图片)

  • 右侧:导航菜单(如:首页、关于我们、服务、联系)

实现方式:使用 Flex 布局

<template><div class="header"><div class="header-left"><img src="logo.png" alt="Logo" class="logo" /></div><div class="header-right"><ul class="nav"><li><a href="#">首页</a></li><li><a href="#">关于我们</a></li><li><a href="#">服务</a></li><li><a href="#">联系</a></li></ul></div></div>
</template><script>
export default {name: 'HeaderComponent'
}
</script><style scoped>
.header {display: flex;justify-content: space-between;align-items: center;padding: 10px 20px;background-color: #f5f5f5;
}.header-left .logo {height: 40px;
}.header-right .nav {list-style: none;display: flex;gap: 20px;margin: 0;padding: 0;
}.header-right .nav li a {text-decoration: none;color: #333;font-weight: bold;
}
</style>

用户信息栏(左头像,右用户名和操作按钮)

布局说明

  • 左侧:用户头像

  • 右侧:用户名 + 操作按钮(如“退出登录”)

实现方式:使用 Flex 布局

<template><div class="user-bar"><div class="user-left"><img src="avatar.jpg" alt="头像" class="avatar" /></div><div class="user-right"><span class="username">张三</span><button @click="logout">退出登录</button></div></div>
</template><script>
export default {methods: {logout() {alert('已退出登录');}}
}
</script><style scoped>
.user-bar {display: flex;justify-content: space-between;align-items: center;padding: 10px;background: #eee;
}.user-left .avatar {width: 40px;height: 40px;border-radius: 50%;
}.user-right {display: flex;align-items: center;gap: 10px;
}
</style>

商品展示栏(左图,右描述)

布局说明

  • 左侧:商品图片

  • 右侧:商品名称、价格、购买按钮

实现方式:使用 Flex + 固定宽度

<template><div class="product-card"><div class="product-image"><img src="product.jpg" alt="商品图" /></div><div class="product-info"><h3>智能手表</h3><p>价格:¥999</p><button>立即购买</button></div></div>
</template><style scoped>
.product-card {display: flex;border: 1px solid #ccc;padding: 10px;
}.product-image img {width: 120px;height: auto;
}.product-info {margin-left: 20px;
}
</style>

日程安排头部(左日期,右操作)

布局说明

  • 左侧:当前日期

  • 右侧:添加日程、筛选按钮

实现方式:使用 justify-content: space-between

<template><div class="schedule-header"><div class="date">2025年9月3日</div><div class="actions"><button>添加日程</button><button>筛选</button></div></div>
</template><style scoped>
.schedule-header {display: flex;justify-content: space-between;align-items: center;background: #f0f8ff;padding: 10px 20px;
}.actions button {margin-left: 10px;
}
</style>

使用 float 实现网页头部左右布局

布局说明

  • 左侧:Logo(浮动到左边)

  • 右侧:导航菜单(浮动到右边)

  • 使用 clearfix 清除浮动影响

Vue 2 示例代码(float 方式)

<template><div class="header"><div class="logo">MySite</div><ul class="nav"><li><a href="#">首页</a></li><li><a href="#">产品</a></li><li><a href="#">服务</a></li><li><a href="#">联系我们</a></li></ul></div>
</template><script>
export default {name: 'HeaderFloat'
}
</script><style scoped>
.header {background-color: #f8f8f8;padding: 15px 30px;overflow: hidden; /* 清除浮动 */
}.logo {float: left;font-size: 24px;font-weight: bold;color: #333;
}.nav {float: right;list-style: none;margin: 0;padding: 0;
}.nav li {display: inline-block;margin-left: 20px;
}.nav a {text-decoration: none;color: #333;font-weight: 500;
}
</style>

注意事项

问题说明
清除浮动使用 overflow: hiddenclearfix 类来避免父元素高度塌陷
垂直居中float 本身不支持垂直居中,需额外处理(如设置 line-height
响应式float 布局在移动端适配上不如 Flex 灵活
可维护性多个浮动元素容易造成布局混乱,不推荐用于复杂结构

总结

虽然 float 可以实现你要的布局,但现在推荐使用 flexgrid,因为它们更现代、更强大、更易维护。

如何实现“左右分开”的关键技巧:

技巧说明
display: flex最常用的方式,设置容器为弹性盒子
justify-content: space-between左右两边自动拉开距离
margin-leftgap控制左右元素之间的间距
固定宽度或 flex-grow控制某一侧占据多少空间
嵌套布局左右部分内部也可以继续用 flex 或 grid 细分

http://www.dtcms.com/a/365833.html

相关文章:

  • Anaconda3出现Fatal error in launcher: Unable to create process using.....问题
  • python 连接数据库进行文件查重(SAP版本)
  • RoPE位置编码缩放因子的最优解:频率维度与位置敏感度的精妙权衡
  • TypeScript:Promise的详细用法讲解
  • 面试复习题--kotlin的设计模式
  • shell内置命令
  • UART更好的封装 添加容错代码
  • Qt6用Chart模块做数据可视化?别再用老套路,看看这套35张图背后的秘密
  • [密码学实战](GBT 15843.2-2017)Java实现基于SM4的实体鉴别机制(四十八)
  • MinIO祭了,RustFS来了!
  • 关于node中的一些用到的读取文件方法
  • Dubbo3单端口多协议源码分析
  • 员工拍照泄密?U盘偷拷资料?终端数据安全如何守护?
  • G1垃圾收集器
  • 【高级】系统架构师 | 信息系统战略规划、EAI 与新技术
  • 攻防世界secret-galaxy-300
  • 深度学习----卷积神经网络的数据增强
  • 如何给JavaScript语句添加注释?
  • 19.JS
  • Jmeter怎么实现接口关联?
  • 算法题(198):数字三角形
  • 使用 Terraform、AWS 和 Python 构建无服务器实时数据管道
  • 学习React-9-useSyncExternalStore
  • Ubuntu下把 SD 卡格式化为 FAT32
  • 【工具变量】“国家级大数据综合试验区”试点城市DID(2000-2024年)
  • ArkTS状态管理V1
  • Llama v3 中的低秩自适应 (LoRA)
  • 头歌实训作业答案C++ 01
  • Proteus8 + STM32CubeMX 实现 STM32F103R6 串口通信教程
  • JMeter下载安装及使用入门