Divider element

The vf-divider component creates a horizontal dividing rule that can help separate containers of content or content inside of their containers.

github location npm version

Usage

The vf-divider component will be the width of if's container. So inside of <body> of your page it will be a maximum of 1300px.

<body class="vf-body | vf-stack vf-stack--400">
  <hr class="vf-divider">
</body>

If you wish to have your vf-divider fit the whole width of the screen you can add the vf-u-fullbleed utility class along side it:

<hr class="vf-divider | vf-u-fullbleed">

This fills the width of the viewport but gives a inline (left and right) margin.

You can customise the inline (left and right) margin if you wish by using the CSS custom property --context-margin--inline on the element:

<hr class="vf-divider | vf-u-fullbleed" style="--context-margin--inline: 2rem;">

Variants


Nunjucks syntax

Depending on your environment you'll want to use render or include. As a rule of thumb: server-side use include, precompiled browser use render. If you're using vf-eleventy you should use include.

Using include

You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks' include is an abstraction of render and provides some additional portability.


{% set context fromYourYamlFile %}
- or -
{% set context = { 
"exampleMultiColumns" : "false",
"component-type" : "element",
 }
%}
{% include "../path_to/vf-divider/vf-divider.njk" %}
                

Using render

This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include is not be available.


{% render '@vf-divider', {
  "exampleMultiColumns" : "false",
  "component-type" : "element",}
%}
                
HTML
<hr class="vf-divider">
              

Nunjucks syntax

Depending on your environment you'll want to use render or include. As a rule of thumb: server-side use include, precompiled browser use render. If you're using vf-eleventy you should use include.

Using include

You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks' include is an abstraction of render and provides some additional portability.


{% set context fromYourYamlFile %}
- or -
{% set context = { 
"exampleMultiColumns" : "false",
"component-type" : "element",
"override_class" : "vf-u-fullbleed",
 }
%}
{% include "../path_to/vf-divider/vf-divider.njk" %}
                

Using render

This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include is not be available.


{% render '@vf-divider', {
  "exampleMultiColumns" : "false",
  "component-type" : "element",
  "override_class" : "vf-u-fullbleed",}
%}
                
HTML
<hr class="vf-divider | vf-u-fullbleed">
              

Nunjucks syntax

Depending on your environment you'll want to use render or include. As a rule of thumb: server-side use include, precompiled browser use render. If you're using vf-eleventy you should use include.

Using include

You'll need to pass a context object from your code or Yaml file (example), as well as the path to the Nunjucks template. Nunjucks' include is an abstraction of render and provides some additional portability.


{% set context fromYourYamlFile %}
- or -
{% set context = { 
"exampleMultiColumns" : "false",
"component-type" : "element",
"override_class" : "vf-u-fullbleed",
"context_margin__inline" : "3rem",
 }
%}
{% include "../path_to/vf-divider/vf-divider.njk" %}
                

Using render

This approach is best for bare-bones Nunjucks environments, such as precompiled templates with the Nunjucks slim runtime where include is not be available.


{% render '@vf-divider', {
  "exampleMultiColumns" : "false",
  "component-type" : "element",
  "override_class" : "vf-u-fullbleed",
  "context_margin__inline" : "3rem",}
%}
                
HTML
<hr class="vf-divider | vf-u-fullbleed" style="--context-margin--inline: 3rem;">
              

Examples

Installation info

This component is distributed with npm. After installing npm, you can install the vf-divider with this command.

$ yarn add --dev @visual-framework/vf-divider

Sass/CSS

The source files included are written in Sass(scss). You can point your Sass include-path at your node_modules directory and import it like this.

@import "@visual-framework/vf-divider/index.scss";

Make sure you import Sass requirements along with the modules. You can use a project boilerplate or the vf-sass-starter

Changelog

Changelog

2.0.1

  • Minor README.md update to correct usage of vf-stack.

2.0.0

  • removes the grid-column: 1 / -1; rule
  • moves the margin into the @mixin available in vf-sass-config
  • adds --vf-divider--margin-block-end custom property to allow the overriding the block end margin as needed

1.0.0 (2019-12-17)

  • Initial stable release

Assets



File system location: components/vf-divider

Find an issue on this page? Propose a change or discuss it.

AI Assistant

Welcome! I'm here to help

Try asking me:

Disclaimer: This chatbot is designed to assist you with general information and basic inquiries. See our disclaimer notes.

Review AI generated content for accuracy. Leave feedback.

Close chat and delete conversation?

Are you sure you want to close the chat?
Your current conversation history will be permanently deleted.