Cả hai đều tạo nút bấm, nhưng có khác biệt quan trọng:
| Đặc điểm | <button> | <input type="button"> |
|---|---|---|
| Nội dung bên trong | Có thể chứa HTML (text, ảnh, icon, v.v.) | Chỉ hiển thị giá trị thuộc tính value (text thuần) |
| Loại nút mặc định | type="submit" (trong form) | type="button" (không submit) |
| Truy cập CSS/JS | Dễ dàng style phần tử con | Khó tùy biến nội dung bên trong |
| Hỗ trợ ::before/::after | Có | Không (void element) |
Ví dụ <button> với hình ảnh
<!DOCTYPE html>
<html>
<body>
<button onclick="alert('Học HTML')">
<img src="https://www.tutorialspoint.com/html/images/html-mini-logo.jpg" alt="Học HTML" height="80" width="100">
</button>
</body>
</html>
Ví dụ <input type="button">
<!DOCTYPE html>
<html>
<head>
<title>HTML Button</title>
</head>
<body>
<form action="/new.php">
Tên:<br><input type="text" name="sname"><br>
Môn:<br><input type="text" name="ssubject"><br>
<input type="submit" value="Gửi">
</form>
</body>
</html>
Khuyến nghị: Ưu tiên <button> cho nút trong form (submit/reset) và nút giao diện phức tạp. Dùng <input type="button"> chỉ khi cần nút đơn giản, không chứa HTML con.