INTRO

INTRO

New

Intro to the Designer

Intro to the Designer

New

2:48

Intro to HTML & CSS

Intro to HTML & CSS

New

3:38

HTML Structure

HTML Structure

New

1:55

WEB STRUCTURE

WEB STRUCTURE

New

The Box Model

The Box Model

New

1:54

Element Hierarchy

Element Hierarchy

New

3:57

Navigator Panel

Navigator Panel

New

2:45

ELEMENTS

ELEMENTS

New

Element Panel

Element Panel

New

1:49

Section

Section

New

4:14

Container

Container

New

2:44

Columns

Columns

New

2:22

Div block

Div block

New

3:37

Buttons & Links

Buttons & Links

New

Button

Button

New

14:08

Link Block

Link Block

New

9:35

Text Link

Text Link

New

1:16

Typography

Typography

New

3:20

Heading

Heading

New

2:02

Paragraph

Paragraph

New

4:42

Rich Text

Rich Text

New

3:52

Text Block

Text Block

New

0:56

Block Quote

Block Quote

New

0:42

List

List

New

2:31

Media

Media

New

Image

Image

New

3:39

Image File Types

Image File Types

New

2:22

Image Resolution

Image Resolution

New

3:28

Assets Panel

Assets Panel

New

3:08

Video

Video

New

1:20

Background Video

Background Video

New

3:15

Components

Components

New

Intro to Forms

Intro to Forms

New

4:55

Styling Forms

Styling Forms

New

2:55

Navbar

Navbar

New

9:38

Styling a Navbar

Styling a Navbar

New

4:34

Navbar Menu Button

Navbar Menu Button

New

4:51

Slider

Slider

New

4:56

Tabs

Tabs

New

4:38

Lightbox

Lightbox

New

3:44

Map

Map

New

2:58

Dropdown

Dropdown

New

4:38

Social Media Buttons

Social Media Buttons

New

2:49

Custom Code Embed

Custom Code Embed

New

1:24

Symbols

Symbols

New

3:47

Styling Basics

Styling Basics

New

Intro to Style Panel

Intro to Style Panel

New

3:15

HTML Tags

HTML Tags

New

3:59

Classes

Classes

New

2:46

Combo Classes

Combo Classes

New

4:05

Text Style Inheritance

Text Style Inheritance

New

3:18

Style Manager

Style Manager

New

1:56

States

States

New

2:47

Transitions

Transitions

New

2:40

Color Picker & Swatches

Color Picker & Swatches

New

3:51

Color Values

Color Values

New

3:22

Layout Basics

Layout Basics

New

Intro to Web Layout

Intro to Web Layout

New

2:27

Display Settings

Display Settings

New

2:54

Padding & Margin

Padding & Margin

New

2:48

Width & Height Units

Width & Height Units

New

3:59

Floats & Clears

Floats & Clears

New

1:52

Flexbox & Grid

Flexbox & Grid

New

Intro to Flexbox

Intro to Flexbox

New

2:27

Centering elements with Flexbox

Centering elements with Flexbox

New

1:20

Equal height layouts with Flexbox

Equal height layouts with Flexbox

New

1:47

Grid layouts overview

Grid layouts overview

New

4:18

Flexbox vs. Grid

Flexbox vs. Grid

New

4:00

Advanced Layout

Advanced Layout

New

Positioning Overview

Positioning Overview

New

1:48

Relative Positioning

Relative Positioning

New

1:43

Absolute Positioning

Absolute Positioning

New

1:43

Fixed Positioning

Fixed Positioning

New

1:27

Z-Index

Z-Index

New

1:49

Overflow

Overflow

New

1:49

Styling Typography

Styling Typography

New

Intro to Web Typography

Intro to Web Typography

New

3:20

Typography Units

Typography Units

New

2:43

Line Height

Line Height

New

1:38

Advanced Typography Styles

Advanced Typography Styles

New

3:01

Google Fonts

Google Fonts

New

1:18

Custom Fonts

Custom Fonts

New

1:27

Text Shadow

Text Shadow

New

2:36

Background & Border Styles

Background & Border Styles

New

Background Styles Overview

Background Styles Overview

New

2:20

Background Image

Background Image

New

2:04

Background Gradient

Background Gradient

New

3:02

Border

Border

New

3:07

Border Radius

Border Radius

New

3:22

Box Shadow

Box Shadow

New

3:34

3D Styles

3D Styles

New

Intro to 3D

Intro to 3D

New

2:25

3D Perspective

3D Perspective

New

4:01

2D & 3D Transforms

2D & 3D Transforms

New

4:53

EFFECTS

EFFECTS

New

Opacity

Opacity

New

1:44

Filters

Filters

New

2:59

Cursors

Cursors

New

1:45

Responsive Design

Responsive Design

New

new course
CSS grid landing page tutorial (36min)

Lesson info

Lesson info

The button element lets you link to pages, page sections (anchors), external links, emails, assets, and telephone numbers. In this video, you'll learn how to create, style, and customize buttons, as well as add states to provide website visitors with the affordances they need to navigate your website.

Explore this project

Want to dig into the project featured in this video and see how everything is put together? We've included the full project we used when making this lesson, and we've shared the link right under this very paragraph.

View and clone this projectDownload lesson assets
Clone this projectDownload project assets

Transcript

From the Elements Panel, we can add a button right to the Canvas, and we have the option to add a link right here. Again, that’s just an option: maybe you’re working on layout right now and you’ll come back. You can move on with your work and access these link settings at any time by selecting the button, and pulling up the Element Settings panel.

And since we intend to reuse this button, let’s create a class: and we can name it anything, maybe Simple Button.

We can adjust our padding on this class (our inner breathing room): we can click and drag while holding option or alt to do both sides at once.

And right now the size of this button is being determined by (1) the text inside…and (2) the padding. And we can change our text inside this particular button by double clicking and typing in something else. And when we make changes to our typography: our font size, our line height, our letter spacing — any changes we make here, or any changes we make to our padding — affect the size of the button.

We can override size by setting custom values — for instance we can do width. Or we can remove those styles (option click or alt click), and go back to the way it was.

As for margin, this comes into play when there are elements around or next to our button. So for this, let’s give this button some company. We can drag in a new button, but notice how changes to the first button don’t affect our new button.

Of course we want to make sure we apply that class, our Simple Button class — to the new button as well. Or better, we can just delete our new button and copy and paste from the original. That keeps the style attached to any pasted elements as well.

Okay — our buttons are now pressed up right against each other. No breathing room. What we can do here is add some margin on both sides. And that looks pretty good. So that’s margin.

And now that we’ve sized and positioned our buttons, we can make some quick style changes. Like background color. Since our buttons are all using the same class - Simple Button - changing the background color affects all of our buttons.

But if we want control over different states, like when a user hovers over the button, we can do that, too.

There are three states we’ll want to cover for buttons — these aren’t exclusive to buttons — you can do this on all sorts of elements, but it’s very useful here. We have none or normal, hover, and pressed. And it’s exactly what it sounds like.

If we want to set the style to be different on hover, under states, we go to hover. And we can see here that we’re now styling the hover state for this class (for our Simple Button class). Maybe we want to make a change to the background color, choose a background color (so we have contrast there). Now when someone hovers over that button, they get the hover state.

And when we press down on that button? We can change that, too. Go in and make that selection, and we can change the style — we can change the state that will show up when someone presses down on the button.

So those are some of the basics when it comes to buttons.