Der Code der akzeptierten Antwort funktioniert in den meisten Fällen, aber um eine Schaltfläche zu erhalten, die sich wirklich wie ein Link verhält, benötigen Sie etwas mehr Code. Es ist besonders schwierig, fokussierte Schaltflächen direkt in Firefox (Mozilla) zu gestalten.
Das folgende CSS stellt sicher, dass Anker und Schaltflächen dieselben CSS-Eigenschaften haben und sich in allen gängigen Browsern gleich verhalten:
button {
align-items: normal;
background-color: rgba(0,0,0,0);
border-color: rgb(0, 0, 238);
border-style: none;
box-sizing: content-box;
color: rgb(0, 0, 238);
cursor: pointer;
display: inline;
font: inherit;
height: auto;
padding: 0;
perspective-origin: 0 0;
text-align: start;
text-decoration: underline;
transform-origin: 0 0;
width: auto;
-moz-appearance: none;
-webkit-logical-height: 1em; /* Chrome ignores auto, so we have to use this hack to set the correct height */
-webkit-logical-width: auto; /* Chrome ignores auto, but here for completeness */
}
/* Mozilla uses a pseudo-element to show focus on buttons, */
/* but anchors are highlighted via the focus pseudo-class. */
@supports (-moz-appearance:none) { /* Mozilla-only */
button::-moz-focus-inner { /* reset any predefined properties */
border: none;
padding: 0;
}
button:focus { /* add outline to focus pseudo-class */
outline-style: dotted;
outline-width: 1px;
}
}
Das obige Beispiel ändert nur button
Elemente, um die Lesbarkeit zu verbessern, kann jedoch problemlos auf Änderungen input[type="button"], input[type="submit"]
und input[type="reset"]
Elemente erweitert werden . Sie können auch eine Klasse verwenden, wenn nur bestimmte Schaltflächen wie Anker aussehen sollen.
In dieser JSFiddle finden Sie eine Live-Demo.
Bitte beachten Sie auch, dass dies das Standard-Anker-Styling auf Schaltflächen anwendet (z. B. blaue Textfarbe). Wenn Sie also die Textfarbe oder etwas anderes von Ankern und Schaltflächen ändern möchten, sollten Sie dies nach dem obigen CSS tun .
Der ursprüngliche Code (siehe Ausschnitt) in dieser Antwort war völlig anders und unvollständig.
/* Obsolete code! Please use the code of the updated answer. */
input[type="button"], input[type="button"]:focus, input[type="button"]:active,
button, button:focus, button:active {
/* Remove all decorations to look like normal text */
background: none;
border: none;
display: inline;
font: inherit;
margin: 0;
padding: 0;
outline: none;
outline-offset: 0;
/* Additional styles to look like a link */
color: blue;
cursor: pointer;
text-decoration: underline;
}
/* Remove extra space inside buttons in Firefox */
input[type="button"]::-moz-focus-inner,
button::-moz-focus-inner {
border: none;
padding: 0;
}