Ich habe folgendes:
Wie entferne ich die blaue Unterstreichung? Der Code ist unten:
<Link to="first"><MenuItem style={{paddingLeft: 13, textDecoration: 'none'}}> Team 1 </MenuItem></Link>
Die MenuItem-Komponente stammt von http://www.material-ui.com/#/components/menu
Jede Einsicht oder Anleitung wäre sehr dankbar. Vielen Dank im Voraus.
javascript
reactjs
react-router
Jo Ko
quelle
quelle
textDecoration: 'none'
auf die<Link />
Komponente nicht ihre Kinder.Antworten:
Ich sehe, dass Sie Inline-Stile verwenden.
textDecoration: 'none'
wird bei Kindern verwendet, wo es tatsächlich<Link>
als solches verwendet werden sollte:<Link>
gibt im Wesentlichen ein Standard-<a>
Tag zurück, weshalb wir dort dietextDecoration
Regel anwenden .Ich hoffe das hilft
quelle
text-decoration: none;
Wenn Sie verwenden
styled-components
, können Sie Folgendes tun:quelle
Ich denke, der beste Weg, um React-Router-Dom Link in einem MenuItem (und anderen MaterialUI-Komponenten wie Schaltflächen) zu verwenden, besteht darin, den Link in der "Komponente" -Prop zu übergeben
Sie müssen den Routenpfad in der 'to'-Requisite des "MenuItem" übergeben (die an die Link-Komponente weitergegeben wird). Auf diese Weise müssen Sie keinen Stil hinzufügen, da der MenuItem-Stil verwendet wird
quelle
Es gibt auch eine andere Möglichkeit, das Styling des Links ordnungsgemäß zu entfernen. Sie müssen ihm einen Stil geben
textDecoration='inherit'
undcolor='inherit'
Sie können diese entweder als Stil zum Link-Tag hinzufügen, wie:oder um es allgemeiner zu machen, erstellen Sie einfach eine CSS-Klasse wie:
Und dann einfach
<Link className='text-link'>
quelle
Sie können
style={{ textDecoration: 'none' }}
IhreLink
Komponente hinzufügen , um die Unterstreichung zu entfernen. Sie könnencss
demstyle
Block auch weitere hinzufügen , zstyle={{ textDecoration: 'none', color: 'white' }}
.quelle
// CSS
// JSX
quelle
Es gibt den nuklearen Ansatz, der in Ihrer App.css (oder Ihrem Gegenstück) enthalten ist.
<a>
Dies verhindert das Unterstreichen aller Tags, was die Hauptursache für dieses Problem istquelle
Arbeiten Sie für mich, fügen Sie einfach
className="nav-link"
undactiveStyle{{textDecoration:'underline'}}
quelle
Schauen Sie hier -> https://material-ui.com/guides/composition/#button .
Dies ist der offizielle Material-UI-Leitfaden. Vielleicht ist es für dich so nützlich wie für mich.
In einigen Fällen bleibt die Unterstreichung jedoch bestehen, und Sie möchten möglicherweise die Textdekoration verwenden: "keine" dafür. Für einen saubereren Ansatz können Sie makeStyles aus material-ui / core importieren und verwenden.
Setzen Sie dann das Attribut className in Ihrem JSX-Code auf {classes.menu-btn}.
quelle
Wenn Sie in Ihrem Inspektor nachsehen, werden Sie feststellen, dass die Verwendung von Komponenten den voreingestellten Farbwert ergibt, um die Antwort von @ Grgur zu erweitern . Sie müssen dies zusammen mit dem überschreiben, wenn Sie nicht möchten, dass es wie ein Standard-Hyperlink aussieht.
Link
color: -webkit-link
textDecoration
quelle
Nur das hat bei mir funktioniert
quelle
quelle
In einigen Fällen verhindert das
<Link>
Hinzufügen einesdiv
withdisplay: 'inline-block'
um die innere Komponente, wenn eine andere Komponente innerhalb der Gatsby- Komponente verwendet wird , das Unterstreichen (von 'Seite' im Beispiel).quelle
Wenn jemand nach
material-ui
der Link-Komponente sucht . Fügen Sie einfach die Eigenschaft hinzuunderline
und setzen Sie sie auf none<Link underline="none">...</Link>
quelle
Ich habe ein Problem wie das Ihre gelöst. Ich habe versucht, das Element in Firefox zu untersuchen. Ich werde Ihnen einige Ergebnisse zeigen:
Wie Sie sehen, haben ein: Schwebeflug Textdekoration: unterstreichen. Ich füge nur zu meiner CSS-Datei hinzu:
und Problem ist gelöst. Aber ich habe auch Textdekoration eingestellt: keine in anderen Klassen (wie Sie: D), die möglicherweise einige Effekte haben (ich denke).
quelle
Was für mich funktioniert hat, ist Folgendes:
quelle