Mã của câu trả lời được chấp nhận hoạt động trong hầu hết các trường hợp, nhưng để có được một nút thực sự hoạt động giống như một liên kết, bạn cần thêm một chút mã. Điều đặc biệt khó khăn là có được kiểu dáng của các nút tập trung ngay trên Firefox (Mozilla).
CSS sau đây đảm bảo rằng các neo và nút có cùng thuộc tính CSS và hoạt động giống nhau trên tất cả các trình duyệt phổ biến:
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;
}
}
Ví dụ trên chỉ sửa đổi button
các yếu tố để cải thiện khả năng đọc, nhưng nó có thể dễ dàng được mở rộng để sửa đổi input[type="button"], input[type="submit"]
và input[type="reset"]
các yếu tố. Bạn cũng có thể sử dụng một lớp, nếu bạn muốn làm cho chỉ một số nút nhất định trông giống như neo.
Xem JSFiddle này để xem bản demo trực tiếp.
Cũng xin lưu ý rằng điều này áp dụng kiểu neo mặc định cho các nút (ví dụ: màu văn bản màu xanh). Vì vậy, nếu bạn muốn thay đổi màu văn bản hoặc bất cứ thứ gì khác của neo & nút, bạn nên thực hiện việc này sau CSS ở trên.
Mã ban đầu (xem đoạn trích) trong câu trả lời này là hoàn toàn khác nhau và không đầy đủ.
/* 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;
}