Eu tenho o seguinte:
Como faço para me livrar do sublinhado azul? O código está abaixo:
<Link to="first"><MenuItem style={{paddingLeft: 13, textDecoration: 'none'}}> Team 1 </MenuItem></Link>
O componente MenuItem é de http://www.material-ui.com/#/components/menu
Qualquer visão ou orientação seria muito apreciada. Agradeço antecipadamente.
javascript
reactjs
react-router
Jo Ko
fonte
fonte
textDecoration: 'none'
no<Link />
componente, não em seus filhos.Respostas:
Vejo que você está usando estilos embutidos.
textDecoration: 'none'
é usado em crianças, onde na verdade deveria ser usado<Link>
como tal:<Link>
irá essencialmente retornar uma<a>
tag padrão , e é por isso que aplicamos atextDecoration
regra lá.Espero que ajude
fonte
text-decoration: none;
Se você estiver usando
styled-components
, pode fazer algo assim:fonte
Acho que a melhor maneira de usar o link react-router-dom em um MenuItem (e outro componente MaterialUI, como botões) é passar o link na prop "componente"
você precisa passar o caminho da rota no prop 'to' do "MenuItem" (que será passado para o componente Link). Desta forma, você não precisa adicionar nenhum estilo, pois ele usará o estilo MenuItem
fonte
Também há outra maneira de remover adequadamente o estilo do link. Você tem que dar um estilo de
textDecoration='inherit'
ecolor='inherit'
pode adicioná-los como estilo à tag do link, como:ou para torná-lo mais geral, basta criar uma classe css como:
E então apenas
<Link className='text-link'>
fonte
Você pode adicionar
style={{ textDecoration: 'none' }}
seuLink
componente para remover o sublinhado. Você também pode adicionar maiscss
nostyle
bloco, por exemplostyle={{ textDecoration: 'none', color: 'white' }}
.fonte
// CSS
// JSX
fonte
Existe a abordagem nuclear que está em seu App.css (ou contraparte)
o que evita o sublinhado para todas as
<a>
tags, que é a causa raiz deste problemafonte
Trabalhando para mim, basta adicionar
className="nav-link"
eactiveStyle{{textDecoration:'underline'}}
fonte
Veja aqui -> https://material-ui.com/guides/composition/#button .
Este é o guia oficial do material-ui. Talvez seja útil para você como foi para mim.
No entanto, em alguns casos, o sublinhado persiste e você pode querer usar decoração de texto: "nenhum" para isso. Para uma abordagem mais limpa, você pode importar e usar makeStyles de material-ui / core.
Em seguida, defina o atributo className como {classes.menu-btn} em seu código JSX.
fonte
Para expandir a resposta de @ Grgur , se você olhar em seu inspetor, verá que o uso de
Link
componentes fornece a eles o valor de cor predefinidocolor: -webkit-link
. Você precisará substituir isso junto com otextDecoration
se não quiser que pareça um hiperlink padrão.fonte
Só isso funcionou para mim
fonte
fonte
Em alguns casos, ao usar outro componente dentro do
<Link>
componente Gatsby , adicionar umdiv
comdisplay: 'inline-block'
ao redor do componente interno evita o sublinhado (de 'Página' no exemplo).fonte
Se alguém estiver procurando pelo
material-ui
componente Link de. Basta adicionar a propriedadeunderline
e defini-la como nenhum<Link underline="none">...</Link>
fonte
Resolvi um problema talvez parecido com o seu. Tentei inspecionar o elemento no firefox. Vou mostrar alguns resultados:
Como você pode ver, a: hover tem text-decoration: underline. Eu apenas adiciono ao meu arquivo css:
e o problema está resolvido. Mas também configurei text-decoration: none em algumas outras classes (como você: D), que pode fazer alguns efeitos (eu acho).
fonte
O que funcionou para mim é o seguinte:
fonte