Skip to main content
Neighborhood Design System v5.1.0

Jumbotron

Ready

Main featurette component with attention grabbing features

Preview

Open in Storybook (opens in new tab)

Code

Install
npm install @fbin-web/neighborhood-core
Import
import { NbhdJumbotron } from '@fbin-web/neighborhood-core';
Usage
<nbhd-jumbotron surface="secondary">
  <nbhd-text
    slot="eyebrow"
    tag="div"
    variant="eyebrow">
    Elit Sem
  </nbhd-text>
  <nbhd-text
    variant="title"
    slot="title"
    tag="h2">
    Jumbotron Title
  </nbhd-text>
  <nbhd-text
    slot="subtitle"
    variant="subtitle"
    tag="h3">
    Dapibus Porta
  </nbhd-text>
  <nbhd-text
    slot="content"
    tag="div"
    >Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
  </nbhd-text>
  <nbhd-cta
    slot="cta"
    variant="primary"
    href="fun-cta-slide-1"
    external
    aria-label="Learn more about CTA 1"
    css-class="cta-tracking-mtr-1">
    CTA 1
  </nbhd-cta>
  <nbhd-image
    slot="media"
    loading="lazy"
    src="https://moen.widen.net/content/dxp6rtujzc/original/SmartWaterApp_Jumbotron.jpg"
    alt="Fun ALT Slide 1 for images"
    css-class="media-css-class-sld-1"
    crop
    image-focus="center">
  </nbhd-image>
</nbhd-jumbotron>

Media Dimensions

Image dimensions are preset by the component, so width and height do not need to be provided on nbhd-image. When using provider="widen", media images are resized and cropped to these dimensions using image-focus as the crop point. The logo is resized to fit and is never cropped.

BreakpointDimensionAspect Ratio
Small (≤767px)375px x 214px1.75:1
Medium (≥768px)768px x 438px1.75:1
Large (≥1024px)750px x 800px0.94:1
Logo (all breakpoints)190px x 75pxFit within, not cropped

Properties

PropertyAttributeTypeDefaultDescription
reversereversebooleanfalseWhether the jumbotron layout should be reversed.
compactcompactbooleanfalseSet the component max-inline-size to --nbhd-size-container-max.
alignmentalignmentstartcenterendstartThe text alignment for the content.
verticalPlacementvertical-placementtopcenterbottomcenterThe vertical placement for the content.
surfacesurfacenoneprimarysecondaryinverseinverse-secondaryprimaryBackground theme for the component.
contentSurfacecontent-surfacenoneprimarysecondaryinverseinverse-secondaryprimaryContent theme for the component.
marginTopmargin-topnonesmallmediumlargenoneAdjust margin above the component.
marginBottommargin-bottomnonesmallmediumlargenoneAdjust margin below the component.
paddingToppadding-topdefaultnonesmallmediumlargedefaultAdjust padding to the top of the component.
paddingBottompadding-bottomdefaultnonesmallmediumlargedefaultAdjust padding to the bottom of the component.

Slots

NameDescription
logoLogo content area. Displays above other content when present.
eyebrowShort introductory text displayed above the title.
titleMain headline content area.
subtitleSecondary title displayed below the main title.
contentGeneral content block for descriptive text.
ctaCall-to-action button or link content.
mediaMedia content area for images or videos.

CSS Parts

CSS parts that can be styled using the ::part() selector.

NameDescription
logoThe logo element when present.
eyebrowThe eyebrow text element.
titleThe main title element.
subtitleThe subtitle element.
contentThe content text element.
ctaThe call-to-action element.
media-slotThe media slot.
flexThe <nbhd-flex> container.
detailThe detail container that holds text content and logo.
mediaThe media container.
baseThe main <section> wrapper element.
containerThe main <nbhd-container> element.
nbhd-jumbotron::part(logo) {
  /* your styles */
}

CSS Properties

Set these on nbhd-jumbotron or an ancestor to override the defaults. Token is the design token a default comes from and Value is what it resolves to in core Neighborhood; brands may override them. Properties that adapt to surface follow the light or inverse surface they sit on until you set them.

PropertyTokenValue Copy
--nbhd-jumbotron-aspectRatio—auto
--nbhd-jumbotron-blockSize—auto
--nbhd-jumbotron-detail-alignItems—start
--nbhd-jumbotron-detail-bpLg-inlineSize—45%
--nbhd-jumbotron-detail-bpMd-paddingInline--nbhd-space-1248px
--nbhd-jumbotron-detail-display—flex
--nbhd-jumbotron-detail-flexDirection—column
--nbhd-jumbotron-detail-inlineSize—100%
--nbhd-jumbotron-detail-justifyContent—center
--nbhd-jumbotron-detail-paddingBlock--nbhd-space-1040px
--nbhd-jumbotron-detail-paddingInline--nbhd-space-624px
--nbhd-jumbotron-detail-position—static
--nbhd-jumbotron-detail-textAlign—start
--nbhd-jumbotron-detail-zIndex--nbhd-z-autoauto
--nbhd-jumbotron-flex-bpLg-blockSize—100%
--nbhd-jumbotron-flex-bpLg-minBlockSize--nbhd-size-hero-minBlockSize800px
--nbhd-jumbotron-host-display—block
--nbhd-jumbotron-host-inlineSize—100%
--nbhd-jumbotron-inlineSize—100%
--nbhd-jumbotron-logo-display—block
--nbhd-jumbotron-logo-marginBlockEnd--nbhd-space-520px
--nbhd-jumbotron-logo-maxBlockSize--nbhd-size-hero-logo-maxBlockSize120px
--nbhd-jumbotron-logo-maxInlineSize--nbhd-size-hero-logo-maxInlineSize190px
--nbhd-jumbotron-marginInline--nbhd-space-00px
--nbhd-jumbotron-maxInlineSize—100%
--nbhd-jumbotron-media-aspectRatio—375 / 214
--nbhd-jumbotron-media-asset-blockSize—100%
--nbhd-jumbotron-media-asset-insetBlockStart—0
--nbhd-jumbotron-media-asset-insetInlineStart—0
--nbhd-jumbotron-media-asset-objectFit—cover
--nbhd-jumbotron-media-asset-position—absolute
--nbhd-jumbotron-media-asset-transitionDuration—0.5s
--nbhd-jumbotron-media-asset-transitionProperty—transform
--nbhd-jumbotron-media-bpLg-aspectRatio—auto
--nbhd-jumbotron-media-bpLg-inlineSize—55%
--nbhd-jumbotron-media-inlineSize—100%
--nbhd-jumbotron-media-minBlockSize—auto
--nbhd-jumbotron-media-position—relative
--nbhd-jumbotron-minBlockSize—auto
--nbhd-jumbotron-minInlineSize--nbhd-size-container-min320px
--nbhd-jumbotron-position—relative
--nbhd-jumbotron-title-bpLg-fontSize--nbhd-typography-display-fontSize3rem

Dependencies

Child components <nbhd-jumbotron> renders internally. Import them too when you tree-shake.

Esc
↑ ↓ to move↵ to open