Kod akceptowanej odpowiedzi działa w większości przypadków, ale aby uzyskać przycisk, który naprawdę zachowuje się jak link, potrzebujesz trochę więcej kodu. Szczególnie trudne jest uzyskanie stylu skoncentrowanych przycisków bezpośrednio w przeglądarce Firefox (Mozilla).
Poniższy CSS zapewnia, że kotwice i przyciski mają te same właściwości CSS i zachowują się tak samo we wszystkich popularnych przeglądarkach:
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;
}
}
Powyższy przykład modyfikuje tylko button
elementy, aby poprawić czytelność, ale można go łatwo rozszerzyć również o modyfikację input[type="button"], input[type="submit"]
i input[type="reset"]
elementy. Możesz także użyć klasy, jeśli chcesz, aby tylko niektóre przyciski wyglądały jak kotwice.
Zobacz JSFiddle, aby zobaczyć demo na żywo.
Należy również pamiętać, że dotyczy to domyślnego stylu zakotwiczenia przycisków (np. Niebieski kolor tekstu). Więc jeśli chcesz zmienić kolor tekstu lub cokolwiek innego z kotwic i przycisków, powinieneś to zrobić po CSS powyżej.
Oryginalny kod (patrz fragment kodu) w tej odpowiedzi był zupełnie inny i niekompletny.
/* 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;
}