@financial-times/o-topper
v6.0.8
Published
Article header styling
Downloads
1,697
Readme
o-topper
This component is used for styling the topper sections of an article.
Usage
Check out how to include Origami components in your project to get started with o-topper
.
Markup
The basic markup structure for a topper will look something like this:
<div class="o-topper o-topper--basic o-topper--color-paper">
<div class="o-topper__content">
<div class="o-topper__tags">
<a href="https://www.ft.com/german-election" class="o-topper__topic">German election</a>
</div>
<h1 class="o-topper__headline">
Merkel reaches ‘grand coalition’ breakthrough with Social Democrats
</h1>
<div class="o-topper__standfirst">Move raises hopes of end to political deadlock that has gripped Germany since September</div>
</div>
<div class="o-topper__background"></div>
</div>
Toppers support a wide array of elements and can be customised using several themes and background colors. For a full list of examples, including example markup, see o-topper in the Registry.
Supported elements
| Element | Use case |
|-----------------------------|----------------------------------------------------------------------------------------------------|
| .o-topper__content
| Main content area of topper. Required parent of all elements except __visual
and __background
. |
| .o-topper__tags
| Wrapper element for the article concept tag elements __brand
, __topic
and __opinion-genre
. |
| .o-topper__brand
| A concept tag that represents a brand, e.g. "The Big Read". |
| .o-topper__topic
| A concept tag that represents a topic or generic concept. |
| .o-topper__opinion-genre
| A concept tag that represents the abstract Opinion genre. |
| .o-topper__columnist
| Wrapper element for __columnist-name
. Should be placed below the headline and standfirst. |
| .o-topper__columnist-name
| Represents the columnist that wrote an Opinion genre article. |
| .o-topper__headline
| The main headline of the article. |
| .o-topper__standfirst
| A short introduction to the article. |
| .o-topper__background
| Element used to display the editorially-chosen colored background of the topper. Must be empty. |
| .o-topper__visual
| Wrapper for the visual elements __picture
and __image
. Should be a <figure>
tag. |
| .o-topper__picture
| A <picture>
tag visual element. |
| .o-topper__image
| An <img>
tag visual element, usually used as fallback for a <picture>
. |
| .o-topper__image-credit
| Element showing credit/copyright for the __picture
or __image
, where no image caption is given. If an image caption is provided alongside credit/copyright information use .o-topper__image-caption
instead. Should be a <figcaption>
tag. |
| .o-topper__image-caption
| Element showing caption and credit/copyright together for the __picture
or __image
. Should be a <figcaption>
tag. |
Themes
These themes affect the layout and visual style of all elements. See the demos for examples.
.o-topper--basic
.o-topper--branded
.o-topper--opinion
.o-topper--full-bleed-image-left
.o-topper--full-bleed-offset
.o-topper--split-text-left
.o-topper--split-text-center
.o-topper--deep-landscape
.o-topper--deep-portrait
Colors
These colors affect the background of the .o-topper__background
and .o-topper__visual
elements, and select a contrasting text color for all other elements. See o-colors
for examples of the colors.
.o-topper--color-paper
.o-topper--color-wheat
.o-topper--color-white
.o-topper--color-black
.o-topper--color-claret
.o-topper--color-oxford
.o-topper--color-slate
.o-topper--color-crimson
.o-topper--color-sky
.o-topper--color-matisse
Modifiers
| Modifier | Use case |
|-----------------------------------------|----------------------------------------------------------------------------------------------------|
| .o-topper__content--background-box
| Create a background box around the element .o-topper__content
. The background colour of the box |
| | will be defined based on the background of the topper |
Sass
To include all o-topper CSS include oTopper
:
@import '@financial-times/o-topper/main';
@include oTopper();
To include o-topper styles granularly specify which elements, themes, and colours to output styles for using the options $opts
argument:
@include oTopper($opts: (
'themes': (
'branded', // .o-topper--branded
'opinion', // .o-topper--opinion
'has-headshot', // .o-topper--has-headshot
'full-bleed-offset',
'split-text-left',
'split-text-center',
'full-bleed-image-center',
'full-bleed-image-left',
'package',
'package-extra',
'package-extra-wide',
'package-special-report',
'right-rail',
'centered',
'deep-landscape',
),
'elements': (
'content', // .o-topper__content
'visual', // .o-topper__visual
'background', // .o-topper__background
'headline',
'headline--large',
'summary',
'standfirst',
'summary--body',
'tags',
'columnist',
'columnist-name',
'brand',
'topic',
'read-next',
'image',
'image-credit',
'image-caption'
),
'colors': (
'white', // .o-topper--color-white
'black', // .o-topper--color-black
'claret',
'oxford',
'paper',
'slate',
'wheat',
'crimson',
'sky',
)
));
Migration
State | Major Version | Last Minor Release | Migration guide | :---: | :---: | :---: | :---: ✨ active | 6 | N/A | migrate to v6 | ⚠ maintained | 5 | N/A | migrate to v5 | ╳ deprecated | 4 | 4.0 | migrate to v4 | ╳ deprecated | 3 | 3.1 | migrate to v3 | ╳ deprecated | 2 | 2.7 | migrate to v2 | ╳ deprecated | 1 | 1.2 | - |
Contact
If you have any questions or comments about this component, or need help using it, please either raise an issue, visit #ft-origami or email Origami Support.
Licence
This software is published by the Financial Times under the MIT licence.