首页 > 其他分享 >使用 ChatGPT 生成 Vue3 响应式导航栏组件

使用 ChatGPT 生成 Vue3 响应式导航栏组件

时间:2023-04-29 18:31:52浏览次数:40  
标签:flex container color menu height burger Vue3 组件 ChatGPT

下面是ChartGPT 生成的 Vue3 响应式导航栏组件。 经过简单的调试。 基本可实现描述的要求。

使用 ChatGPT 生成 Vue3 响应式导航栏组件_导航栏

使用 ChatGPT 生成 Vue3 响应式导航栏组件_响应式_02



使用 ChatGPT 生成 Vue3 响应式导航栏组件_AI_03


使用 ChatGPT 生成 Vue3 响应式导航栏组件_AI_04


Nav.vue

<template>
  <nav class="nav-container">
    <div class="logo-container">
      <img src="your-logo-here.svg" alt="logo" />
    </div>
    <div class="menu-container" :class="{ 'menu-open': menuOpen }">
      <ul v-if="!isMobile">
        <li><a href="#">Home</a></li>
        <li><a href="#">About Us</a></li>
        <li><a href="#">Price</a></li>
        <li><a href="#">Route</a></li>
        <li><a href="#">other1</a></li>
        <li><a href="#">other2</a></li>
      </ul>
      <div class="burger-icon" @click="toggleMenu" v-if="isMobile">
        <div v-if="!menuOpen" class="burger-bars"></div>
        <div v-else class="burger-close">
          <div class="line1"></div>
          <div class="line2"></div>
        </div>
      </div>
      <ul class="mobile-menu" v-if="isMobile && menuOpen">
        <li><a href="#" @click="toggleMenu">Home</a></li>
        <li><a href="#" @click="toggleMenu">About Us</a></li>
        <li><a href="#" @click="toggleMenu">Price</a></li>
        <li><a href="#" @click="toggleMenu">Route</a></li>
        <li><a href="#" @click="toggleMenu">Other1</a></li>
        <li><a href="#" @click="toggleMenu">Other2</a></li>
      </ul>
    </div>
  </nav>
</template>

<script setup>
import { ref, computed } from 'vue';

const menuOpen = ref(false);
const isMobile = ref(window.innerWidth < 768);

window.addEventListener('resize', () => {
  isMobile.value = window.innerWidth < 768;
});

const toggleMenu = () => {
  menuOpen.value = !menuOpen.value;
};
</script>

<style scoped>
.nav-container {
  display: flex;
  justify-content: space-between;
  height: 100px;
  align-items: center;
  padding: 0.5rem 1rem;
  background-color: #333;
}

.logo-container img {
  height: 30px;
}

.menu-container {
  display: flex;
  align-items: center;
}

.menu-container ul {
  display: flex;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu-container ul li {
  margin-right: 1rem;
}
.menu-container .mobile-menu li {
  margin-right: 0;
}
.menu-container ul li a {
  color: #fff;
  text-decoration: none;
}

.burger-icon {
  display: flex;
  justify-content: center;
  height: 30px;
  align-items: center;
  cursor: pointer;
}

.burger-bars {
  width: 25px;
  height: 3px;
  background-color: #fff;
  position: relative;
}

.burger-bars::before,
.burger-bars::after {
  content: '';
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
}

.burger-bars::before {
  top: -8px;
}

.burger-bars::after {
  bottom: -8px;
}

.burger-close {
  position: relative;
  width: 25px;
  height: 3px;
}

.line1,
.line2 {
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
}

.line1 {
  transform: rotate(45deg);
}

.line2 {
  transform: rotate(-45deg);
}

.mobile-menu {
  display: flex;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 100px;
  left: 0;
  background-color: #333;
  width: 100%;
  height: calc(100vh - 100px);
  overflow-y: auto;
}

.mobile-menu li a {
  color: #fff;
  text-decoration: none;
  padding: 0.5rem 1rem;
  display: block;
}

.mobile-menu li a:hover {
  background-color: #444;
}
</style>

标签:flex,container,color,menu,height,burger,Vue3,组件,ChatGPT
From: https://blog.51cto.com/u_12603214/6236834

相关文章

  • react的类组件和函数组件 -- 状态 state
    //函数组件是无状态的既没有数据的类似vue组件中的data数据//类组件是有状态的组件是有数据的是双向绑定的数据是数据驱动视图的负责UI的视图更新(单个组件的私有数据组件之间的数据是独立的)importReactDomfrom"react-dom"import{Component}from"react......
  • 免费无需魔法会语音聊天的ChatGPT
    今天发现了一个很好的ChatGPT,可以语音聊天,而且免费无需魔法角色目前包括夏洛克、雷电影等等,对话的声调完全模拟了原角色!目前只有英文和日语两种对话,我们可以文字输入或者语音输入,中文即可,系统会语音回答,自带翻译。联系口语交流还是很不错的,目前响应速度很快,无广告。具体的机器人......
  • 微信小程序-icon组件
    icon组件icon组件,想必大家都应该清楚这个是图标组件吧,在微信小程序当中,为我们提供了一套icon图标类型。?>icon的类型,有效值:success,success_no_circle,info,warn,waiting,cancel,download,search,clear我们就来看一下icon当中的属性值即可。属性?>type:icon的类型......
  • AI客服问答机器人-基于ChatGPT实现一个垂直领域的AI问答机器人
    我们大家都知道,ChatGPT的强大之处。但是呢,如何让ChatGPT基于我们自己的数据进行回复呢,如何将垂直领域的最新数据“喂”给ChatGPT,使其成为一名领域专家呢。下面是我自己实现的客服系统,整合好问答知识后的ChatGPT功能,具体的演示如下 登录到后台以后,可以开启向量知识库AI功能,集合......
  • Word中使用ChatGPT,写文档如有神助
    【部署教程】国内网络可用,最强ChatGPT学术论文写作工具原创****付费简介WordGPTPlus是一个集成了chatGPT模型的Word插件。它允许你基于你在文档中写的内容生成文本。你可以使用它来翻译、总结、润色或者从零开始写一篇文章。特色功能使用GPT-3.5API生成文本并支持......
  • vue2源码-十七、Vue组件间传值的方式及之间区别
    Vue组件间传值的方式及之间区别通过props传递:父组件传递数据给子组件使用//chilid,vueprops:{//字符串形式name:String//接收的类型参数//对象形式age:{type:Number,//接收的类型为数值defaule:18,//默认值为18r......
  • Ext.ux.ThemeCycleButton换肤组件 示例
    Ext.ux.ThemeCycleButton换肤组件示例效果:  创建调用HTML:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=GBK"/><title></title><linkrel="stylesheet"type="text/css"h......
  • Ext.ux.GMapPanel.js组件的使用 示例
    Ext.ux.GMapPanel.js组件的使用示例 效果: 创建调用的html:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>GMapWindowExample</title><linkrel="stylesheet"type=&......
  • vue3 ts 网易云信 未读数 手动设置已读已废弃
    vue3ts网易云信未读数//未读数清空$uikit.resetSessionUnread(store.sessionId.value);调用接口nim.resetSessionUnread('sessionId')重置会话未读数。将此会话未读数置为0,之后收到消息重新计算未读数。调用接口nim.setCurrSession('sessionId')设置当前会话。将此会......
  • vue3 获取asset文件夹下所有资源文件列表
     参考链接:https://www.jianshu.com/p/0f4386d19c07importpathfrom"path"; constgetLayerBgs=function(){ constimgs:any=[]; //获取所有背景图层 //读取文件的路径是否遍历文件的子目录匹配文件正则表达式 constfiles=require.context("@/a......