CSS Outlines

CSS outlines are a vital aspect of web design that enhance the usability and visual appeal of your website. Unlike borders, outlines do not occupy space or affect the layout but provide a way to highlight elements effectively.

What is a CSS Outline?

A CSS outline is a line drawn outside the border edge of an element. It does not take up space or affect the element's dimensions or layout. Outlines are typically used to highlight elements, such as when an element is focused or selected, making them especially useful for accessibility.

Key Differences Between Borders and Outlines

  • Positioning: Outlines are drawn outside the element's border and do not impact the layout, while borders are part of the element’s box model and affect its size.
  • Space: Outlines do not take up space in the document flow, whereas borders add to the element's dimensions.
  • Style: Outlines have limited styling options compared to borders.

CSS Outline 

CSS outline Property

The outline property is a shorthand for setting the width, style, and color of an outline in a single declaration.

Syntax

css
element {
  outline: width style color;
}

Example

html
<!DOCTYPE html>
<html>

<head>
    <style>
        .outline-example {
            
            /* 4px solid outline with color */
            outline: 4px solid #FF5722;
            padding: 20px;
            margin: 10px;
            background-color: #4CAF50;
            color: white;
        }
    </style>
</head>

<body>
    <div class="outline-example">
        This div has a 4px solid outline.
    </div>
</body>

</html>

CSS outline-width Property

The outline-width property sets the width of the outline. It can accept specific values such as thin, medium, thick, or absolute lengths like px, em, etc.

Syntax

css
element {
  outline-width: value;
}

Example

html
<!DOCTYPE html>
<html>

<head>
    <style>
        .outline-width-example {
            
            /* 5px outline width */
            outline-width: 5px;
            outline-style: solid;
            outline-color: #2196F3;
            padding: 20px;
            margin: 10px;
            background-color: #FFC107;
            color: white;
        }
    </style>
</head>

<body>
    <div class="outline-width-example">
        This div has a 5px outline width.
    </div>
</body>

</html>

CSS outline-style Property

The outline-style property specifies the style of the outline. The available styles include none, solid, dashed, dotted, double, groove, ridge, inset, and outset.

Syntax

css
element {
  outline-style: style;
}

Example

html
<!DOCTYPE html>
<html>

<head>
    <style>
        .outline-style-example {
            
            /* Dashed outline style */
            outline-style: dashed;
            outline-width: 3px;
            outline-color: #FF9800;
            padding: 20px;
            margin: 10px;
            background-color: #009688;
            color: white;
        }
    </style>
</head>

<body>
    <div class="outline-style-example">
        This div has a dashed outline style.
    </div>
</body>

</html>

CSS outline-color Property

The outline-color property sets the color of the outline. It accepts color names, hex codes, RGB values, or HSL values.

Syntax

css
element {
  outline-color: color;
}

Example

html
<!DOCTYPE html>
<html>

<head>
    <style>
        .outline-color-example {
            /* Purple outline color */
            outline-color: #673AB7;
            outline-width: 4px;
            outline-style: solid;
            padding: 20px;
            margin: 10px;
            background-color: #FFC107;
            color: white;
        }
    </style>
</head>

<body>
    <div class="outline-color-example">
        This div has a purple outline color.
    </div>
</body>

</html>

CSS outline-offset Property

The outline-offset property specifies the space between the outline and the edge of the element's border. This property allows you to control the position of the outline relative to the border.

Syntax

html
<!DOCTYPE html>
<html>

<head>
    <style>
        .outline-offset-example {
            outline: 3px solid #FF5722;
            /* 10px offset from the border edge */
            outline-offset: 10px;
            padding: 20px;
            margin: 10px;
            background-color: #4CAF50;
            color: white;
        }
    </style>
</head>

<body>
    <div class="outline-offset-example">
        This div has a 10px outline offset.
    </div>
</body>

</html>

Practical Use Cases of CSS Offset

Highlighting Focused Elements

Outlines are particularly useful for enhancing accessibility, such as when highlighting focusable elements like form inputs or links.

Example

html
<!DOCTYPE html>
<html>

<head>
    <style>
        input:focus {
            /* Highlight focused input fields */
            outline: 2px solid #FF5722;
        }
    </style>
</head>

<body>
    <input type="text" 
        placeholder="Focus me to see the outline">
</body>

</html>

Customizing Focus Styles of CSS Offset

You can create custom focus styles using outlines to improve usability and visual appeal.

Example

html
<!DOCTYPE html>
<html>

<head>
    <style>
        a:focus {
            outline: 3px solid #009688;
            outline-offset: 4px;
            color: #FF5722;
        }
    </style>
</head>

<body>
    <a href="#" tabindex="0">
        Focus on this link to see 
        the custom outline
    </a>
</body>

</html>

CSS

2711

450

Related Articles