This utility class allows you to make a container take the full width of the viewport available but keep the content set to the maximum width of the grid.
As we should be relying on vf-grid
, embl-grid
, or a container to make sure the content is centered with a maximum width of 76.5em
we use the ::before
pseudo element to allow the background colour to 'bleed out' and fill any space avaiable.
For this to work you need to make sure that the parent element you place the class .vf-u-fullbleed
has to have a background colour.
This can be done either by:
For example:
<section class="vf-content | embl-grid embl-grid--has-centered-content | vf-u-fullbleed | vf-u-background-color--blue">
...
</section>
Browsers running on Windows tend to have scrollbars always showing. There is a small bug with the vw
unit where the calculations leading to 100vw
could create a horizontal scroll bar. To avoid this, without using JavaScript. We need to apply the CSS rule of overflow-x: hidden;
to a parent element.
As we are making all components their own installable package we have added the required CSS to this component rather than relying on additional packages. Making use of Sass @at-root
directive and defining what element to add the rule too. The variable used for this is $vf-u-fullbleed-parent
. This is set to body
as the default but can be overridden in your projects overriding Sass variables file (which needs to be near the top of the import file).
.vf-u-fullbleed {
$vf-u-fullbleed-parent: body !defualt;
...
@at-root #{$vf-u-fullbleed-parent} {
position: relative;
}
}
This has been test with sites using VF 1.x and no problems have been found. If you find an issue with this component being used alongside pages built with VF1.x please raise an issue.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto earum vero laudantium quia officiis cum nemo autem reprehenderit, praesentium rerum vel! Ducimus, ullam impedit tempore vel, ipsam magnam quos voluptatum!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sed alias, minima omnis possimus aut aliquam commodi, molestias repellat tempore nobis deserunt quis quod maiores inventore debitis in vitae aspernatur dolores.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas nostrum iste, aut dolor sapiente quos at neque, non! Voluptas eveniet quia laboriosam eligendi architecto qui minima corrupti velit consectetur. Temporibus?
<div class="vf-content | embl-grid embl-grid--has-centered-content | vf-u-fullbleed vf-u-background-color--blue">
<h1>Hellow World</h1>
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto earum vero laudantium quia officiis cum nemo autem reprehenderit, praesentium rerum vel! Ducimus, ullam impedit tempore vel, ipsam magnam quos voluptatum!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sed alias, minima omnis possimus aut aliquam commodi, molestias repellat tempore nobis deserunt quis quod maiores inventore debitis in vitae aspernatur dolores.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas nostrum iste, aut dolor sapiente quos at neque, non! Voluptas eveniet quia laboriosam eligendi architecto qui minima corrupti velit consectetur. Temporibus?</p>
</div>
</div>
This repository is distributed with npm. After installing npm, you can install vf-u-fullbleed
with this command.
$ yarn add --dev @visual-framework/vf-u-fullbleed
vf-u-fullbleed
needs inline margins
File system location: components/vf-u-fullbleed
Find an issue on this page? Propose a change or discuss it.