如何在没有滚动条的情况下在 Tailwind 中创建可滚动元素
How to create scrollable element in Tailwind without a scrollbar
我正在尝试重新创建一个带有顺风的水平滚动导航栏 底部没有滚动条 就像这个例子一样(减小屏幕宽度以便能够滚动)
https://getbootstrap.com/docs/5.0/examples/blog/
我使用 Tailwind 尝试了以下操作,但无法弄清楚如何删除如上面 bootstrap 示例所示的水平滚动条。有人可以帮忙吗?
<ul class="flex overflow-x-auto whitespace-nowrap p-4">
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
</ul>
要隐藏滚动条,您需要直接设置它的样式:
/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
您可以使用配置中的插件轻松地将这些添加为 Tailwind 实用程序:https://tailwindcss.com/docs/plugins#adding-utilities
进一步阅读:
https://css-tricks.com/almanac/properties/s/scrollbar/
https://www.w3schools.com/howto/howto_css_hide_scrollbars.asp
/*
https://github.com/tailwindlabs/tailwindcss/discussions/2394
https://github.com/tailwindlabs/tailwindcss/pull/5732
*/
@layer utilities {
/* Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
display: none;
}
.no-scrollbar {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
}
然后你只需添加 class no-scrollbar
就像你通常喜欢的那样,注意我添加了 overflow-y-auto 来自动保持滚动条的正确大小。
<div className="no-scrollbar overflow-y-auto">
或者:
你可以试试这个 tailwindcss
隐藏滚动条的插件
为了在评论中回答@wataru 的问题,将这些类 作为插件 添加到tailwind.congig.js
的语法是这样的:
const plugin = require('tailwindcss/plugin')
module.exports = {
content: [
"./pages/**/*.{js,ts,jsx}",
"./components/**/*.{js,ts,jsx}",
],
theme: {
extend: {},
},
plugins: [
plugin(function ({ addUtilities }) {
addUtilities({
'.scrollbar-hide': {
/* IE and Edge */
'-ms-overflow-style': 'none',
/* Firefox */
'scrollbar-width': 'none',
/* Safari and Chrome */
'&::-webkit-scrollbar': {
display: 'none'
}
}
}
)
})
],
}
要检查的行是 const plugin
和 plugins: []
数组
我是通过检查上面@jasonleonhard 链接的 https://github.com/reslear/tailwind-scrollbar-hide 包的源代码了解到这一点的。
我正在尝试重新创建一个带有顺风的水平滚动导航栏 底部没有滚动条 就像这个例子一样(减小屏幕宽度以便能够滚动)
https://getbootstrap.com/docs/5.0/examples/blog/
我使用 Tailwind 尝试了以下操作,但无法弄清楚如何删除如上面 bootstrap 示例所示的水平滚动条。有人可以帮忙吗?
<ul class="flex overflow-x-auto whitespace-nowrap p-4">
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
<li><a href="/" class="p-2">Nav Item</a></li>
</ul>
要隐藏滚动条,您需要直接设置它的样式:
/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
您可以使用配置中的插件轻松地将这些添加为 Tailwind 实用程序:https://tailwindcss.com/docs/plugins#adding-utilities
进一步阅读:
https://css-tricks.com/almanac/properties/s/scrollbar/ https://www.w3schools.com/howto/howto_css_hide_scrollbars.asp
/*
https://github.com/tailwindlabs/tailwindcss/discussions/2394
https://github.com/tailwindlabs/tailwindcss/pull/5732
*/
@layer utilities {
/* Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
display: none;
}
.no-scrollbar {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
}
然后你只需添加 class no-scrollbar
就像你通常喜欢的那样,注意我添加了 overflow-y-auto 来自动保持滚动条的正确大小。
<div className="no-scrollbar overflow-y-auto">
或者:
你可以试试这个 tailwindcss
隐藏滚动条的插件
为了在评论中回答@wataru 的问题,将这些类 作为插件 添加到tailwind.congig.js
的语法是这样的:
const plugin = require('tailwindcss/plugin')
module.exports = {
content: [
"./pages/**/*.{js,ts,jsx}",
"./components/**/*.{js,ts,jsx}",
],
theme: {
extend: {},
},
plugins: [
plugin(function ({ addUtilities }) {
addUtilities({
'.scrollbar-hide': {
/* IE and Edge */
'-ms-overflow-style': 'none',
/* Firefox */
'scrollbar-width': 'none',
/* Safari and Chrome */
'&::-webkit-scrollbar': {
display: 'none'
}
}
}
)
})
],
}
要检查的行是 const plugin
和 plugins: []
数组
我是通过检查上面@jasonleonhard 链接的 https://github.com/reslear/tailwind-scrollbar-hide 包的源代码了解到这一点的。