Teaser: Ticker

100%
<mark>Not intended for individual usage. See <a href="./ticker">ticker</a> component.</mark>
<mark>Not intended for individual usage. See <a href="./ticker">ticker</a> component.</mark>
{
  "isPremium": true,
  "hasGallery": true,
  "isAd": true,
  "hasVideoThumbnail": false,
  "kicker": "Brandkatastrophe",
  "title": "Lorem ipsum dolor sit amet consectetur adipiscing elit",
  "text": "",
  "src": "../../assets/img/landscape.jpg",
  "location": "Hildesheim",
  "author": "Johanna Elster",
  "datetime": "28.04.2019",
  "tstamp": "1566234446",
  "readingTime": "10",
  "visits": "9.523",
  "items": [
    {
      "uid": 5,
      "text": "Ich habe einfach keinen Titel. Na sowas. Das mir das aber auch immer passieren muss!",
      "publish_date": 1568994540,
      "title": "",
      "author": {
        "name": "Rasmus von Baum",
        "media": {
          "type": "image",
          "uri": "https://via.placeholder.com/1600x1200"
        }
      },
      "media": [],
      "date": 1568994540
    },
    {
      "uid": 4,
      "text": "Nur Text",
      "publish_date": 1570630800,
      "title": "Nur Text",
      "author": [],
      "media": [],
      "date": 1570630800
    },
    {
      "uid": 3,
      "text": "Das ist ein Video Beispiel mit Autor",
      "publish_date": 1570630620,
      "title": "Video Beispiel",
      "author": {
        "name": "Jan Fuhrhop",
        "media": {
          "type": "image",
          "uri": "https://via.placeholder.com/1200x960"
        }
      },
      "media": {
        "type": "video",
        "uri": "https://player.vimeo.com/video/122370241"
      },
      "date": 1570630620
    },
    {
      "uid": 2,
      "text": "Ich bin noch viel neuer",
      "publish_date": 1569772140,
      "title": "Test mit Bild",
      "author": [],
      "media": {
        "type": "image",
        "uri": "https://via.placeholder.com/800x600"
      },
      "date": 1569772140
    },
    {
      "uid": 1,
      "text": "Ich bin eine Meldung",
      "publish_date": 1568994540,
      "title": "Mit Autor (ohne Media)",
      "author": {
        "name": "Kimberly Fiebig",
        "media": {
          "type": "image",
          "uri": "https://via.placeholder.com/1600x1200"
        }
      },
      "media": [],
      "date": 1568994540
    }
  ]
}
  • Content:
    // Local var
    $orderedListSpacing: 1.5rem;
    
    // Local var
    .c-teaser {
        background-color: $color-white;
        margin: 0 auto rem-calc(40);
        min-height: rem-calc(200);
    
        @include transition(box-shadow);
    
        &__media {
            grid-column: 1 / 2;
            grid-row: 1 / 5;
    
            picture {
                display: block;
                height: auto;
                position: relative;
                width: 100%;
    
                &.is-video-thumbnail {
                    &::before {
                        background-color: rgba($color-white, .75);
                        border: 1px solid $color-white;
                        border-radius: 50%;
                        color: $color-grey;
                        content: "\f04b";
                        display: block;
                        font-family: "Font Awesome 5 Free", sans-serif;
                        font-weight: 900;
                        height: 3rem;
                        left: 50%;
                        line-height: 1;
                        padding: 1rem;
                        position: absolute;
                        text-indent: 2px;
                        top: 50%;
                        transform: translate(-50%, -50%);
                        width: 3rem;
                        z-index: 1;
                    }
                }
            }
    
            img {
                display: block;
                height: auto;
                width: 100%;
            }
    
            &:hover {
                picture.is-video-thumbnail::before {
                    background-color: $color-white;
                    color: $black;
                }
            }
        }
    
        &__decoline {
            border-left: 2px solid $color-yellow;
            padding-left: .625rem;
        }
    
        &__socialmediaNavi {
            margin-left: 1rem;
        }
    
        &__contactList {
            list-style-type: none;
            margin-left: -1rem;
        }
    
        &__contactItem {
            word-break: break-all;
        }
    
        &__icon {
            background-color: red;
            bottom: 0;
            display: block;
            height: 20px;
            left: 0;
            position: absolute;
            width: 20px;
        }
    
        &__body {
            grid-column: 2 / 4;
            grid-row: 1 / 4;
            padding: rem-calc(0 20);
        }
    
        &__kicker {
            color: $color-grey-light;
            font-size: rem-calc(14);
            margin: 1rem 0 0 0;
        }
    
        &__link {
            border-bottom: 0;
        }
    
        &__title {
            @include transition(color);
    
            font-size: 1.25rem;
    
            &:hover {
                color: $color-grey;
            }
    
            // Special case for TYPO3 Integration. Sometimes we can't control that the a-tag is INSIDE the title (ke_search)
            // Removing decoration via cascade.
            a {
                border-bottom: 0;
            }
        }
    
        &__content {
            color: $color-grey-dark;
    
            > p {
                margin-bottom: rem-calc(20);
            }
        }
    
        &__footer {
            align-items: flex-end;
            display: flex;
            grid-column: 2 / 4;
            grid-row: 4 / 4;
            padding: rem-calc(0 20 20);
        }
    
        &__meta {
            align-items: flex-start;
            display: flex;
            flex-direction: column;
            flex-grow: 1;
            width: 100%;
        }
    
        &__actions {
            align-items: flex-end;
            display: flex;
            flex-direction: column;
            flex-shrink: 1;
        }
    
        &.c-teaser--top {
            margin-bottom: rem-calc(20);
            margin-left: auto;
            margin-right: auto;
            margin-top: rem-calc(20);
        }
    
        &.c-teaser--opener,
        &.c-teaser--top {
            .c-teaser__media {
                grid-column: 1 / 4;
                grid-row: 1 / 2;
            }
    
            .c-teaser__body {
                grid-column: 1 / 4;
                grid-row: 2 / 3;
            }
    
            .c-teaser__footer {
                grid-column: 1 / 4;
                grid-row: 3 / 4;
            }
        }
    
        &.c-teaser--opener {
            .c-teaser__media {
                margin-bottom: rem-calc(20);
            }
        }
    
        &.c-teaser--minimal {
            display: block;
            margin: $spacing-l auto;
            min-height: 0;
    
            img {
                margin-bottom: 1.25rem;
            }
    
            .c-teaser__header {
                border-left: 2px solid $color-yellow;
                padding-left: rem-calc(10);
            }
    
            .c-teaser__title {
                color: $font-header-color;
                display: inline;
                font-size: rem-calc(16);
                font-weight: normal;
                margin-bottom: $spacing-s;
    
                &:hover {
                    color: $color-grey;
                }
            }
    
            .c-teaser__meta {
                margin-top: $spacing-s;
            }
        }
    
        &.c-teaser--opinion {
            .c-teaser__media {
                picture {
                    position: relative;
    
                    &::before {
                        color: $color-yellow;
                        content: '”';
                        display: block;
                        left: 10px;
                        position: absolute;
                        top: 0;
                        z-index: 10;
    
                        @include fluid-type(rem-calc(640), rem-calc(1200), rem-calc(50), rem-calc(80));
                    }
                }
            }
        }
    }
    
    @include breakpoint(medium) {
        .c-teaser {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(4, auto);
    
            &__media {
                picture {
                    height: 100%;
                    overflow: hidden;
    
                    &.is-video-thumbnail {
                        &::before {
                            bottom: 10px;
                            left: 10px;
                            top: auto;
                            transform: none;
                        }
                    }
                }
    
                img {
                    height: 100%;
                    left: 50%;
                    object-fit: cover;
                    object-position: top center;
                    position: absolute;
                    top: 0;
                    transform: translateX(-50%);
    
                    @include transition(color, background-color, transform);
                }
    
                &:hover {
                    a img {
                        transform: scaleX(1.05) scaleY(1.05) scaleZ(1) translateX(-50%);
                    }
                }
            }
    
            &__header {
                border-left: 2px solid $color-yellow;
                padding-left: rem-calc(10);
            }
    
            &__kicker {
                margin: 0;
            }
    
            &__title {
                font-size: 1.375rem;
            }
    
            &.c-teaser--card,
            &.c-teaser--opinion {
                grid-template-columns: 1fr;
                grid-template-rows: repeat(3, auto);
    
                .c-teaser__media {
                    grid-column: 1 / 2;
                    grid-row: 1 / 2;
    
                    img {
                        height: auto;
                        left: unset;
                        object-fit: unset;
                        object-position: unset;
                        position: relative;
                        top: unset;
                        transform: unset;
                        width: 100%;
                    }
                }
    
                .c-teaser__body {
                    grid-column: 1 / 2;
                    grid-row: 2 / 3;
                    padding: rem-calc(20 20 0);
                }
    
                .c-teaser__footer {
                    grid-column: 1 / 2;
                    grid-row: 3 / 4;
                    padding: rem-calc(0 20 20);
                }
            }
    
            &.c-teaser--opinion {
                .c-teaser__media {
                    picture {
                        border-bottom: 2px solid $color-yellow;
                    }
                }
            }
    
            &.c-teaser--opener {
                grid-template-columns: repeat(4, 1fr);
                min-height: rem-calc(320);
    
                .c-teaser__media {
                    grid-column: 1 / 3;
                    grid-row: 1 / 5;
                    margin-bottom: 0;
                }
    
                .c-teaser__body {
                    grid-column: 3 / 5;
                    grid-row: 1 / 4;
                }
    
                .c-teaser__footer {
                    grid-column: 3 / 5;
                    grid-row: 4 / 5;
                }
            }
    
            &.c-teaser--top {
                .c-teaser__media {
                    grid-column: 1 / 2;
                    grid-row: 1 / 5;
                    margin-bottom: 0;
                }
    
                .c-teaser__body {
                    grid-column: 2 / 5;
                    grid-row: 1 / 5;
                    padding: rem-calc(20);
                }
            }
        }
    }
    
    @include breakpoint(large) {
        .c-teaser {
            grid-template-columns: rem-calc(270) 1fr 1fr;
    
            &.c-teaser--opener {
                grid-template-columns: repeat(3, 1fr);
    
                &__media {
                    grid-column: 1 / 2;
                    grid-row: 1 / 5;
                }
            }
        }
    }
    
    @include breakpoint(small only) {
        .o-section:not(.o-section--grey) {
            .c-teaser:not(.c-teaser--minimal) {
                border-bottom: rem-calc(2) solid $color-yellow;
            }
        }
    }
    
    // Overrides
    .o-section--grey {
        .c-teaser__body {
            padding: rem-calc(20 20 0);
        }
    
        .c-teaser--minimal {
            padding: 0 $spacing-s $spacing-s;
        }
    }
    
    ol .c-teaser.c-teaser--minimal {
        padding-left: $orderedListSpacing;
    
        .c-teaser__header {
            border-left-width: 0;
            padding-left: 0;
        }
    }
    
  • URL: /components/raw/teaser/teaser.scss
  • Filesystem Path: src/patterns/20-components/teaser/teaser.scss
  • Size: 9.2 KB

Teaser

E-mail addresses are cloaked for spam protection in TYPO3. That function is not available in the styleguide.

Ticker

The ticker teaser is not quite a teaser as it doesn’t link anywhere. Yet, its layout is based upon the card teaser, so it’s kept here. Also, the output is just an approximate as the ‘updated’ information in the kicker will be shorter.