DEV Community

Neha Sharma
Neha Sharma

Posted on

input type button vs button

The main difference between <input type="button"> and <button> is that the latter allows for more customization and is more flexible.

<input type="button"> is a self-contained element with limited functionality and styling options, while is a container element that can contain other elements and has more styling options such as using CSS pseudo-elements.

Additionally, <button> can have a type attribute other than "button", such as "submit" or "reset", allowing it to be used in a form for submitting or resetting data.

<!-- Example using input type button -->
<input type="button" value="Click me" class="btn-primary" style="background-color: blue; color: white;">

<!-- Example using button -->
<button type="submit" class="btn btn-primary" style="background-color: blue; color: white;">
  Click me <span class="icon-arrow"></span>
</button>
Enter fullscreen mode Exit fullscreen mode

In this example, the <input type="button"> element has a value attribute for the button text, a class attribute for styling with the btn-primary class, and a style attribute for setting the background color and text color. It has limited styling options beyond these attributes.

In contrast, the <button> element has a type attribute set to "submit" for use in a form, and can contain other elements such as a <span> element with a class of icon-arrow. It also has a class attribute for styling with the btn and btn-primary classes, and a style attribute for setting the background color and text color. It is more flexible and can be customized further with CSS.

Top comments (1)

Collapse
 
vulcanwm profile image
Medea

I was wondering this, thanks for clearing up my doubts!