将导航选项卡添加到 Tailwind CSS 导航栏
Posted
技术标签:
【中文标题】将导航选项卡添加到 Tailwind CSS 导航栏【英文标题】:Add Navigation Tabs to Tailwind CSS Navbar 【发布时间】:2019-08-14 17:38:23 【问题描述】:所以我设计了这个顺风 CSS 导航栏,但是我在向它添加标签时遇到了麻烦。这是我的导航栏的链接。希望有人可以帮助添加一些下拉菜单,以便我可以在我的项目中使用它。我已经尝试了所有可能的方法,但似乎很难。我什至尝试过使用其他组件。 无论如何,我无法让这个导航栏正常工作。我需要将导航栏从静态更改为响应模式,但它目前无法正常工作。任何建议将不胜感激!
new Vue(
el: "#app",
data()
return
open: false,
,
methods:
toggle()
this.open = !this.open
)
<link href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/0.7.4/tailwind.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<header class="font-sans antialiased" id="app">
<div class="flex items-center justify-between flex-wrap bg-grey-dark p-6">
<div class="flex">
<img src="src/assets/boy.svg" class="h-8 w-8">
<a href="#" class="no-underline text-white text-bold mt-2"><span class="font-semibold text-xl tracking-tight">ExampleCss</span></a>
</div>
<div class="block sm:hidden">
<button @click="toggle" class="flex items-center px-3 py-2 border rounded text-grey-dark-lighter border-grey-dark-light hover:text-white hover:border-white">
<svg class="fill-current h-3 w-3" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><title>Menu</title><path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z"/></svg>
</button>
</div>
<div :class="open ? 'block': 'hidden'" class="w-full flex-grow sm:flex sm:items-center sm:w-auto">
<div class="text-sm sm:hidden">
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Home
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
About
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Expertise
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Academia
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Portfolio
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Blog
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Contact
</a>
<div class="flex">
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0 mr-2">Register</a>
</div>
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0">Login</a>
</div>
</div>
</div>
</div>
<div class="hidden w-full block md:flex md:w-auto">
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0 mr-2">Register</a>
</div>
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0">Login</a>
</div>
</div>
</div>
<nav class="bg-grey-dark sm:block p-6" :class="open ? 'hidden': 'hidden'">
<div class="w-full flex-grow sm:flex sm:items-center sm:w-auto">
<div class="flex justify-center items-center text-sm sm:flex-grow uppercase">
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Home
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
About
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Expertise
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Academia
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Portfolio
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Blog
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Contact
</a>
</div>
</div>
</nav>
</header>
【问题讨论】:
github.com/tailwindcss/tailwindcss/issues/301 我试过了,但仍然无法悬停。 除了vue.js之外,你能把jquery添加到你的项目吗??? bytutorial.com/blogs/vuejs/how-to-use-jquery-in-vuejs-2 【参考方案1】:我已经查看了您的代码并找到了一个下拉菜单建议,请在您的页面中替换我建议的代码,希望下拉菜单也适用于您的菜单。
<link href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/0.7.4/tailwind.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<header class="font-sans antialiased" id="app">
<div class="flex items-center justify-between flex-wrap bg-grey-dark p-6">
<div class="flex">
<img src="src/assets/boy.svg" class="h-8 w-8">
<a href="#" class="no-underline text-white text-bold mt-2"><span class="font-semibold text-xl tracking-tight">ExampleCss</span></a>
</div>
<div class="block sm:hidden">
<button @click="toggle" class="flex items-center px-3 py-2 border rounded text-grey-dark-lighter border-grey-dark-light hover:text-white hover:border-white">
<svg class="fill-current h-3 w-3" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><title>Menu</title><path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z"/></svg>
</button>
</div>
<div :class="open ? 'block': 'hidden'" class="w-full flex-grow sm:flex sm:items-center sm:w-auto">
<div class="text-sm sm:hidden">
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Home
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
About
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Expertise
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Academia
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Portfolio
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Blog
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Contact
</a>
<div class="flex">
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0 mr-2">Register</a>
</div>
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0">Login</a>
</div>
</div>
</div>
</div>
<div class="hidden w-full block md:flex md:w-auto">
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0 mr-2">Register</a>
</div>
<div>
<a href="#" class="no-underline inline-block text-sm px-4 py-2 leading-none border rounded text-white border-white hover:border-transparent hover:text-gray hover:bg-white mt-4 sm:mt-0">Login</a>
</div>
</div>
</div>
<nav class="bg-grey-dark sm:block p-6" :class="open ? 'hidden': 'hidden'">
<div class="w-full flex-grow sm:flex sm:items-center sm:w-auto">
<div class="flex justify-center items-center text-sm sm:flex-grow uppercase">
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Home
</a>
<div id="app" class="p-6 font-sans leading-normal">
<dropdown-link>
<span slot="link" class="appearance-none flex items-center inline-block text-white font-medium px-4 py-2 rounded">
<span class="mr-1">Dropdown</span>
<svg class="h-4 w-4 fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z" />
</svg>
</span>
<div slot="dropdown" class="bg-white shadow rounded border overflow-hidden">
<a href="#" class="no-underline block px-4 py-3 border-b text-grey-darkest bg-white hover:text-white hover:bg-blue whitespace-no-wrap">Action</a>
<a href="#" class="no-underline block px-4 py-3 border-b text-grey-darkest bg-white hover:text-white hover:bg-blue whitespace-no-wrap">Another action</a>
<a href="#" class="no-underline block px-4 py-3 border-b text-grey-darkest bg-white hover:text-white hover:bg-blue whitespace-no-wrap">Something else here</a>
</div>
</dropdown-link>
</div>
<script type="text/x-template" id="dropdown-link-template">
<div class="relative">
<div role="button" class="inline-block select-none" @click="open = !open">
<slot name="link"></slot>
</div>
<div class="absolute pin-l mt-px" v-show="open">
<slot name="dropdown"></slot>
</div>
</div>
</script>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
About
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Expertise
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Academia
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Portfolio
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Blog
</a>
<a href="#" class="no-underline block mt-4 sm:inline-block sm:mt-0 text-white hover:text-white mr-8">
Contact
</a>
</div>
</div>
</nav>
</header>
vue.js
Vue.component('dropdown-link',
template: '#dropdown-link-template',
data()
return
open: false
)
var app = new Vue(
el: '#app'
)
enter link description here
【讨论】:
【参考方案2】:我对此进行了一些研究,我假设您想在不添加其他脚本或插件的情况下添加下拉菜单,对吧。从以下链接尝试解决方案
https://tailwindcomponents.com/component/dropdown-menu-without-js
让我知道这是否适合你。
【讨论】:
以上是关于将导航选项卡添加到 Tailwind CSS 导航栏的主要内容,如果未能解决你的问题,请参考以下文章
如何使用嵌套的底部选项卡导航器将导航按钮添加到 React 导航堆栈标题?
HTML / CSS - 在导航中的活动选项卡底部添加一个小三角形或箭头