Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to make a button in HTML

Getting Started: Understanding the Button Element

In the HTML language, a button is represented by the <button> element. Picture it as a clickable area in a webpage that can trigger specific actions when interacted with. This is similar to how physical buttons work. For example, the power button on your phone or computer. When you press it, something happens — your device either turns on or off. HTML buttons work in the same way. When you click on them, they can trigger a variety of actions based on what they were programmed to do.

The fundamental structure of a button is simple. It consists of a start tag <button>, some content within, and an end tag </button>. The content within the tags is what users see on the button.

Here's an example:

<button>Click me</button>

Making Your First Button

Let's start by creating a very basic button. You can include it in your HTML code where you think the button should appear.

<button>This is a button</button>

Once you've saved and refreshed your webpage, you'll see a button with the label "This is a button". However, if you try clicking it, you'll notice that nothing happens. This is because we haven't defined any action for the button yet. It's like a doorbell that doesn't ring because it's not connected to anything.

The type Attribute: Different Types of Buttons

Buttons in HTML can have different types defined by the type attribute. The type attribute specifies the kind of button to display. The three types of buttons are submit, reset, and button.

Submit buttons: The submit type is used within a <form> element. When clicked, it submits the form data to the server. It's similar to mailing a letter: you write your letter (fill the form), put it in the envelope (the form), and then you press the submit button (drop it in the mailbox).

Example: html <form> <button type="submit">Submit</button> </form>

Reset buttons: The reset type is also used within a <form> element. When clicked, it resets all the form fields to their initial values. Think of it as an eraser that clears all your inputs.

Example: html <form> <button type="reset">Reset</button> </form>

Button: The button type is used for buttons that aren't associated with form actions. It's like a light switch — it just waits for you to click it to perform a specific action, like turning on a light.

Example: html <button type="button">Click me</button>

Styling Your Button with CSS

The buttons we've created are quite plain. To make them more visually appealing, we can style them using CSS (Cascading Style Sheets), a language used for describing the look and formatting of a document written in HTML. It's like picking out an outfit for your button.

Here's an example of how to style our button:

<style>
    button {
        background-color: #4CAF50; /* green */
        border: none;
        color: white; /* text color */
        padding: 15px 32px; /* vertical and horizontal padding */
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer; /* changes the cursor when you hover over the button */
    }
</style>

<button>Stylish Button</button>

Adding Actions with JavaScript

As we mentioned earlier, a button without an action is like a doorbell that doesn't ring. To make our button "ring", or do something when clicked, we use JavaScript. JavaScript is a programming language that can change and update both HTML and CSS.

Consider this example where we use JavaScript to display an alert message when the button is clicked:

<button onclick="alert('Hello, World!')">Click me</button>

In this example, the onclick attribute is an event attribute that defines the JavaScript to be run when the button is clicked. The alert('Hello, World!') is a JavaScript function that shows an alert box with the message 'Hello, World!'.

Conclusion

Button creation in HTML is quite straightforward. By understanding the button element, types of buttons, how to style them, and how to add actions using JavaScript, you've taken significant strides in your journey as a web developer. Remember, practice is key. So, go ahead and create different buttons, style them, and add various actions to them. Happy coding!