<div class="microcard microcard--small microcard--quickinfo">
    <div class="microcard__inner">
        <div class="microcard__bottom">
            <div class="microcard__headline">
                <h3 class="headline headline--3">Eine Headline</h3>
            </div>
            <div class="microcard__quickinfo"><svg class="icon icon--plus" viewBox="0 0 200 200" role="presentation">
                    <use xlink:href="#icon-plus"></use>
                </svg></div>
        </div>
    </div>
    <div class="quickinfo">
        <div class="quickinfo__button-wrap"><button class="icon-button quickinfo__button" type="button" aria-expanded="false" aria-controls="id-3cf961-content" id="id-3cf961-title"><svg class="icon icon--plus icon-button__icon" viewBox="0 0 200 200" role="img" aria-labelledby="icon-48d151-title">
                    <title id="icon-48d151-title">Schnellinfo zeigen</title>
                    <use xlink:href="#icon-plus"></use>
                </svg></button></div>
        <article class="quickinfo__panel" id="id-3cf961-content" aria-labelledby="id-3cf961-title">
            <div class="quickinfo__content" tabindex="-1">
                <div class="quickinfo__content-inner">
                    <div class="quickinfo__block" id="c15210">
                        <h3 class="headline headline--module-3">Ich bin eine Headline für eine Zusatzinfo</h3>
                    </div>
                    <div class="quickinfo__block" id="c15211">
                        <p class="bodytext"><strong>Ich bin eine Zwischenheadline</strong><br />Lorem ipsum dolor sit amet, consetetur sadipscing elitrvero consetetur sadipscing elitr, sed diam nonumy Textlink invidunt ut dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren.</p>
                    </div>
                    <div class="quickinfo__block" id="c15212">
                        <figure class="figure" aria-labelledby="figure-fecb92-label">
                            <div class="figure__media">
                                <div class="image loading" style="padding-top: 56.25%;"><noscript><img class="image__fallback" alt="Das ist ein Alt-Text. Das ist ein Pflichtfeld." width="640" height="360" src="https://via.placeholder.com/640x360/A0A0A6/FFFFFF.png?text=640x360" /></noscript><img class="image__img js-lazyload" alt="Das ist ein Alt-Text. Das ist ein Pflichtfeld." width="640" height="360" data-src="https://via.placeholder.com/640x360/A0A0A6/FFFFFF.png?text=640x360" /></div>
                            </div>
                            <figcaption class="figure__caption" id="figure-fecb92-label"><span class="figure__caption__text">Ich bin eine Bildunterschrift</span><span class="figure__caption__copyright">(Foto: Name Agentur)</span></figcaption>
                        </figure>
                    </div>
                    <div class="quickinfo__block" id="c15213"><a class="link link--download" href="#" target="_blank">Download (PDF, 1.3MB)</a></div>
                    <div class="quickinfo__block" id="c15215"><a class="button button--primary" href="#"><span class="button__inner"><svg class="icon icon--ticket" viewBox="0 0 200 200" role="presentation">
                                    <use xlink:href="#icon-ticket"></use>
                                </svg><span class="button__text">Button-Text</span></span></a></div><button class="icon-button quickinfo__close" type="button"><svg class="icon icon--close icon-button__icon" viewBox="0 0 200 200" role="img" aria-labelledby="icon-b6ada1-title">
                            <title id="icon-b6ada1-title">Schnellinfo schließen</title>
                            <use xlink:href="#icon-close"></use>
                        </svg></button>
                </div>
            </div>
        </article>
    </div>
</div>
#{href && 'a' || tag || 'div'}.microcard(
  href=href,
  target=target,
  class=classNames(
    !image && 'microcard--small',
    text && 'microcard--has-text',
    details && 'microcard--has-details',
    stretched && 'microcard--stretched',
    quickinfo && 'microcard--quickinfo'
  )
)&attributes(attr)
  .microcard__inner

    if kickerIcon || kicker || badge
      .microcard__top
        if kickerIcon || kicker
          .microcard__kicker
            if kickerIcon
              +include('@icon', { icon: kickerIcon })
            if kicker
              span.microcard__kicker__text #{kicker}
        if badge
          span.microcard__badge #{badge}

    if image
      .microcard__image
        img.microcard__image__img(src=image.src, width=image.width, height=image.height, alt=image.alt)

    .microcard__bottom
      if headline
        .microcard__headline
          +include('@headline--headline-3', { text: headline })

      if subline
        .microcard__subline #{subline}

      if text
        .microcard__text #{text}

      if details
        .microcard__details
          each item in details
            .microcard__details__item
              +include('@icon', { icon: item.icon })
              span.microcard__details__item__text #{item.text}

      if icons
        .microcard__icons
          each item in icons
            span.microcard__icons__item
              +include('@icon', { icon: item.icon })

      if icon
        .microcard__icons
          span.microcard__icons__item
            +include('@icon', { icon: icon })

      if quickinfo
        .microcard__quickinfo
          +include('@icon', { icon: 'plus' })

  if quickinfo
    +include('@quickinfo')
{
  "href": null,
  "target": null,
  "kickerIcon": null,
  "kicker": null,
  "badge": null,
  "image": null,
  "headline": "Eine Headline",
  "subline": null,
  "text": null,
  "details": null,
  "icons": null,
  "icon": null,
  "quickinfo": true
}
  • Content:
    .microcard {
      color: $color-dark;
      display: block;
      height: 48rem;
      position: relative;
      transition: color 0.2s;
      width: 40rem;
    
      @media(hover: hover) and (pointer: fine) {
        &:hover {
          color: $color-blue;
        }
      }
    
      &::before,
      &::after {
        content: '';
        left: 3.5rem;
        position: absolute;
        width: calc(100% - 3.5rem);
      }
    
      &::before {
        background: #fff;
        height: calc(100% - 8rem);
        top: 0;
      }
    
      &::after {
        background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 80"><defs/><path fill="' + #fff + '" d="M0 80V0h800v-40h800V-.09a40 40 0 0 1-11.75 28.32l-40.2 40.09A40 40 0 0 1 1519.82 80H0z"/></svg>');
        background-position: right bottom;
        background-size: auto 100%;
        bottom: 0;
        content: '';
        height: 8rem;
      }
    
      .article &,
      .grid & {
        width: 100%;
    
        @include mq($from: m) {
          &::before {
            height: calc(100% - 5rem);
          }
    
          &::after {
            height: 5rem;
          }
        }
      }
    
      .slider & {
        @include mq($until: m) {
          &::before {
            height: calc(100% - 5rem);
          }
    
          &::after {
            height: 5rem;
          }
        }
      }
    }
    
    .microcard--has-text,
    .microcard--has-details {
      height: 55rem;
    }
    
    .microcard--small {
      height: auto;
    
      &::before,
      &::after {
        left: 0;
        width: 100%;
      }
    
      &::before {
        height: calc(100% - 5rem);
      }
    
      &::after {
        height: 5rem;
      }
    
      .microcard__inner {
        padding: 3rem 2.5rem;
      }
    }
    
    
    .microcard__inner {
      display: flex;
      flex-direction: column;
      height: 100%;
      padding: 3rem 2.5rem 2rem 6rem;
      position: relative;
      z-index: 1;
    }
    
    .microcard__top {
      align-items: baseline;
      display: flex;
      flex-shrink: 0;
      margin: -1rem 0 1.5rem;
    }
    
    .microcard__kicker {
      flex-grow: 1;
    }
    
    .microcard__kicker .icon {
      color: $color-blue;
      font-size: 1.4rem;
      margin-right: 0.5rem;
      position: relative;
      top: -0.1rem;
    }
    
    .microcard__kicker__text {
      color: $color-blue;
      font-family: $font-family-secondary;
      font-size: 1.5rem;
      font-weight: $font-weight-bold;
      text-transform: uppercase;
    }
    
    .microcard__badge {
      background: $color-violet;
      border-radius: 3px;
      color: #fff;
      font-family: $font-family-secondary;
      font-size: 1.4rem;
      font-weight: $font-weight-bold;
      padding: 0 0.5rem;
      text-transform: uppercase;
    }
    
    .microcard__image {
      background: #fff;
      flex: 1 0 auto;
      left: -6rem;
      position: relative;
      transition: width 0.2s;
      width: calc(100% + 3.5rem);
    }
    
    .microcard__image__img {
      box-shadow: $box-shadow-default;
      height: 100%;
      left: 0;
      max-height: 100%;
      max-width: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      width: auto;
    }
    
    .microcard__bottom {
      flex-shrink: 0;
    
      &:not(:first-child) {
        padding-top: 2rem;
      }
    }
    
    .microcard__headline {
      margin-bottom: 1rem;
    }
    
    .microcard__headline .headline {
      .text-float &,
      .article &,
      .grid &,
      .two-microcards & {
        @include mq($from: m) {
          font-size: 1.9rem;
          line-height: 2.5rem;
          min-height: 7.5rem;
        }
      }
    
      .microcard-wall & {
        @include mq($from: m) {
          font-size: 1.9rem;
          line-height: 2.5rem;
          min-height: 10.8rem;
        }
      }
    
      @include mq($until: m) {
        hyphens: auto;
        overflow-wrap: break-word;
        word-wrap: break-word;
      }
    }
    
    .microcard--small .microcard__headline .headline {
      min-height: inherit;
    }
    
    .microcard__text {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.2s;
    }
    
    @media(hover: hover) and (pointer: fine) {
      .microcard:hover .microcard__text {
        max-height: 20rem;
      }
    }
    
    .microcard__details {
      margin-top: 1.5rem;
    }
    
    .microcard__details .icon {
      margin-right: 0.8rem;
      position: relative;
      top: -0.2rem;
    }
    
    .microcard__icons {
      display: flex;
      margin: 1rem 0 0 -1rem;
    
      .text-float &,
      .article &,
      .grid &,
      .two-microcards & {
        @include mq($from: m) {
          margin-top: 2.9rem;
        }
      }
    }
    
    .microcard__icons__item {
      padding: 0 1rem;
      position: relative;
    
      &:not(:first-child)::before {
        background: $color-border-gray-light;
        bottom: 0.4rem;
        content: '';
        display: block;
        left: 0;
        position: absolute;
        top: 0.8rem;
        width: 0.1rem;
      }
    }
    
    .microcard__icons .icon {
      color: $color-blue;
      font-size: 1.4rem;
    }
    
    .microcard__quickinfo {
      color: $color-blue;
      display: inline-block;
      height: 3rem;
      line-height: 1;
      margin-top: 1rem;
      position: relative;
      width: 3rem;
    
      .icon {
        height: 3rem;
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 3rem;
      }
    }
    
    .microcard .quickinfo,
    .microcard .quickinfo__button {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 2;
    
      .icon {
        display: none;
      }
    }
    
    .article,
    .grid,
    .two-microcards {
      @include mq($until: m) {
        .microcard {
          background: #fff;
          height: auto;
        }
    
        .microcard__inner {
          flex-direction: row;
          padding: 3rem 1.5rem;
        }
    
        .microcard__image {
          flex: none;
          height: 10rem;
          left: 0;
          width: 10rem;
        }
    
        .microcard__image__img {
          box-shadow: -0.5rem 1.5rem 10rem 0 rgba($color-dark, 0.25);
        }
    
        .microcard__bottom {
          flex: 1;
          padding: 0 0 0 2rem;
        }
    
        .microcard__headline {
          margin-top: -0.5rem;
        }
      }
    }
    
    .article__inner .tabs-slider .microcard {
      width: 40rem;
    
      @include mq($until: m) {
        background: none;
        margin: 0;
        width: calc(100% - 1.5rem);
      }
    }
    
  • URL: /components/raw/microcard/microcard.scss
  • Filesystem Path: src/components/molecules/microcard/microcard.scss
  • Size: 5.4 KB

There are no notes for this item.