Mam:
Jak pozbyć się niebieskiego podkreślenia? Kod poniżej:
<Link to="first"><MenuItem style={{paddingLeft: 13, textDecoration: 'none'}}> Team 1 </MenuItem></Link>
Składnik MenuItem pochodzi z http://www.material-ui.com/#/components/menu
Wszelkie spostrzeżenia lub wskazówki byłyby bardzo mile widziane. Z góry dziękuję.
javascript
reactjs
react-router
Jo Ko
źródło
źródło
textDecoration: 'none'
na<Link />
komponencie, a nie jego elementach potomnych.Odpowiedzi:
Widzę, że używasz stylów wbudowanych.
textDecoration: 'none'
jest stosowany u dziecka, gdzie tak naprawdę powinien być używany wewnątrz<Link>
:<Link>
zasadniczo zwróci standardowy<a>
tag, dlatego stosujemytextDecoration
tam regułę.Mam nadzieję że to pomogło
źródło
text-decoration: none;
Jeśli używasz
styled-components
, możesz zrobić coś takiego:źródło
Myślę, że najlepszym sposobem użycia łącza react-router-dom w MenuItem (i innych komponentach MaterialUI, takich jak przyciski) jest przekazanie linku we właściwości „komponent”
musisz przekazać ścieżkę trasy we właściwości „do” elementu „MenuItem” (który zostanie przekazany do komponentu Link). W ten sposób nie musisz dodawać żadnego stylu, ponieważ użyje stylu MenuItem
źródło
Istnieje również inny sposób prawidłowego usunięcia stylu linku. Musisz nadać temu styl
textDecoration='inherit'
icolor='inherit'
możesz dodać je jako style do tagu linku, na przykład:lub żeby było bardziej ogólnie, po prostu utwórz klasę css taką jak:
A potem po prostu
<Link className='text-link'>
źródło
Możesz dodać
style={{ textDecoration: 'none' }}
swójLink
komponent, aby usunąć podkreślenie. Możesz też dodać więcejcss
wstyle
bloku npstyle={{ textDecoration: 'none', color: 'white' }}
.źródło
// CSS
// JSX
źródło
Istnieje podejście nuklearne, które jest w twoim App.css (lub odpowiedniku)
co zapobiega podkreślaniu wszystkich
<a>
tagów, co jest główną przyczyną tego problemuźródło
Pracując dla mnie, po prostu dodaj
className="nav-link"
iactiveStyle{{textDecoration:'underline'}}
źródło
Spójrz tutaj -> https://material-ui.com/guides/composition/#button .
To jest oficjalny przewodnik Material-UI. Może ci się przyda, tak jak dla mnie.
Jednak w niektórych przypadkach podkreślenie nie ustąpi i możesz chcieć użyć do tego dekoracji tekstu: „none”. Aby uzyskać bardziej przejrzyste podejście, możesz importować i używać makeStyles z material-ui / core.
Następnie ustaw atrybut className na {classes.menu-btn} w swoim kodzie JSX.
źródło
Aby rozwinąć odpowiedź @ Grgura , jeśli spojrzysz do swojego inspektora, zobaczysz, że użycie
Link
komponentów daje im wstępnie ustawioną wartość kolorucolor: -webkit-link
. Musisz to zmienić wraz z,textDecoration
jeśli nie chcesz, aby wyglądało jak domyślne hiperłącze.źródło
Tylko to działało dla mnie
źródło
źródło
W niektórych przypadkach, gdy używany jest inny komponent wewnątrz komponentu Gatsby
<Link>
, dodanie znakudiv
zdisplay: 'inline-block'
wokół komponentu wewnętrznego zapobiega podkreślaniu (w przykładzie „strony”).źródło
Jeśli ktoś szuka
material-ui
komponentu Link. Po prostu dodaj właściwośćunderline
i ustaw ją na none<Link underline="none">...</Link>
źródło
Mam rozwiązać problem, może taki jak twój. Próbowałem sprawdzić element w przeglądarce Firefox. Pokażę Ci kilka wyników:
Jak widzisz a: hover mają tekst-dekorację: podkreślenie. Dodam tylko do mojego pliku css:
i problem został rozwiązany. Ale ustawiłem też dekorację tekstu: żadna w innych klasach (jak ty: D), to może mieć jakieś efekty (tak sądzę).
źródło
U mnie zadziałało:
źródło