Em um aplicativo web (NextJS/React), estou usando react-tabs para manipular guias.
Gostaria de saber como manter os cabeçalhos das abas fixos. Isso está impedindo que eles rolem para cima e desapareçam quando eu rolar para cima o conteúdo da página.
Depois de pesquisar na internet, tentei usar react-sticky
, mas parece que não funciona.
Eu até tenho a impressão de que react-tabs e react-sticky não devem funcionar juntos. Diga-me se estou errado.
Aqui está o código atual relevante:
import { Tabs,TabList,Tab,TabPanel } from 'react-tabs';
import 'react-tabs/style/react-tabs.css';
.....
return (
<Tabs defaultIndex={tabInit()}>
<TabList>
<Tab>Title-One</Tab>
<Tab>Title-Two</Tab>
<Tab>Title-Three</Tab>
<Tab>Title-Four</Tab>
<Tab>Title-Five</Tab>
<Tab>Title-Six</Tab>
</TabList>
<TabPanel><Contents-One/></TabPanel>
<TabPanel><Contents-Two/></TabPanel>
<TabPanel><Contents-Three/></TabPanel>
<TabPanel><Contents-Four/></TabPanel>
<TabPanel><Contents-Five/></TabPanel>
<TabPanel><Contents-Six/></TabPanel>
</Tabs>
)
Como posso obter o efeito que preciso ao usar react-tabs
?
Você pode conseguir isso usando CSS simples.
<Tabs>
componenteposition: sticky;
ao<TabList>
componente.Aqui está um código de exemplo para você testar.
Arquivo:
App.css
Atualize o componente conforme abaixo para aplicar as classes CSS
Arquivo:
App.js
Aqui está o código em um playground: https://playcode.io/2216306
Avise-me se você consegue ver o efeito desejado após essas alterações ou se encontrar algum erro.
Eu preferiria olhar para navegações que tenham um comportamento semelhante ao de uma guia em vez de forçar a fixação em um componente de guia, que deve ser usado dentro do conteúdo e, portanto, deve rolar com a página.
Você pode dar uma olhada nas Navegações e guias do React Bootstrap ou em outras bibliotecas para componentes de navegação.
Boa sorte!