basti1012.bplaced.net

Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
    Hallo, ich bin neu in dem Forum (aber nicht neu in der IT Welt) und komme gleich mal mit einer für mich ganz interessanten Frage... Mein Ziel ist eis ein Popfenster zu erstellen das auf CSS basiert und beim öffnen der Seite nach 5 Sekunden sich öffnet und dann nach 15 von selbst wieder schliesst. In Javascript lässt sich sowas realisieren, alllerdings haben viele Browser ja Javascript deaktiviert so das es hier äussert unprofesionell wirkt. Ein einfaches Popup das sich auf Mausklick öffnet und schliesst habe ich selbst hinbekommen. Aber mir fehlt der Automatismus, so das es beim Aufruf der Seite selbst nach einiger Zeit aufgeht und sich auch wieder schliesst. Freu mich auf Ideen, Diskussion oder Lösungsvorschläge.

    Code

                                        
                                    <style>
      #modal-window {
      position: fixed;
      background-color: rgba(200, 200, 200, 0.75);
      width:50vw;
      height:300px;
      border:2px solid black;
      margin-top:-100vh;
      z-index: 999;
      left:25vw;
      text-align:center;
      transition: all 0.3s;
      animation:modal 20s linear 1;
    }
    #modal-window >.header{
      width: 100%;
      padding:0;
      color: white;
      font-weight: bold;
      height:45px;
      background:rgba(0,0,0,0.7);
    }
    .modal-close {
      color:white;
      background:rgba(255,0,0,0.5);
      font-size:20px;
      text-align: left;
      float:left;
      width: 20px;
      padding:10px 2px;
      text-decoration: none;
    }
    .modal-close:hover {
      color:gree;
      background:green;
    }
    .modal-window h1 {
      font-size: 200%;
      margin: 0 0 15px;
    }
    @keyframes modal {
        24%  {margin-top:-100vh;}
        25%  {  margin-top:0px;}
        99%  {  margin-top:0px;}
        100% {  margin-top:-100vh;}
    }
    
    .frame {
      position: absolute;
      bottom: 3px;
      left:calc(50% - 100px);
      width: 200px;
      height: 200px;
      border-radius: 22px;
      overflow: hidden;
      background: #222;
      color: #eee;
    }
    
    .tgl {
      display: none;
    }
    .tgl + .tgl-btn {
      cursor: pointer;
      position: absolute;
    left:calc(50% - 10px);
      top: 15px;
      display: block;
      width: 3em;
      height: 1.5em;
      padding: 2px;
      border: 2px solid rgba(0, 255, 0, 0.3);
      border-radius: 1.5em;
      background-color: rgba(0, 255, 0, 0.1);
      box-shadow: 0 0 12px rgba(0, 255, 0, 0.2);
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      transition: all 0.4s ease;
    }
    .tgl + .tgl-btn:after, .tgl + .tgl-btn:before {
      content: "";
      position: relative;
      display: block;
      width: 50%;
      height: 100%;
    }
    .tgl + .tgl-btn:after {
      left: 50%;
      border-radius: 50%;
      background: lime;
      transition: all 0.2s ease;
    }
    .tgl + .tgl-btn:before {
      display: none;
    }
    .tgl:checked + .tgl-btn {
      border-color: #444249;
      background: transparent;
      box-shadow: none;
    }
    .tgl:checked + .tgl-btn:after {
      left: 0;
      background-color: #444249;
    }
    .tgl:checked ~ .counter .num {
      -webkit-animation-play-state: paused;
              animation-play-state: paused;
    }
    
    .counter {
      position: relative;
      display: flex;
      justify-content: center;
      height: 100px;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
    }
    
    .nums {
      position: relative;
      display: inline-block;
      width: 70px;
      height: 100px;
      margin: 0 5px;
      border-radius: 5px;
      border-top: 1px solid #393939;
      box-shadow: 0 3px 10px #111;
      -webkit-perspective: 1000px;
              perspective: 1000px;
    }
    .nums:before {
      content: "";
      position: absolute;
      z-index: 1000;
      left: 0;
      top: 50%;
      height: 1px;
      width: 100%;
      border-bottom: 2px solid black;
      -webkit-transform: translate3d(0, -1px, 0);
              transform: translate3d(0, -1px, 0);
    }
    .nums:after {
      content: "0";
      overflow: hidden;
      z-index: 0;
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      height: calc(50% - 1px);
      width: 100%;
      border-bottom: 1px solid #444444;
      border-top: 1px solid black;
      border-radius: 0 0 5px 5px;
      background: #2a2a2a;
      box-shadow: inset 0 15px 50px #202020;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      font-size: 72px;
      line-height: 0;
      text-align: center;
      text-shadow: 0 1px 2px #333;
    }
    
    .num {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border-radius: 5px;
      font-size: 72px;
      -webkit-transform: rotateX(0);
              transform: rotateX(0);
      transition: 0.6s;
      -webkit-transform-style: preserve-3d;
              transform-style: preserve-3d;
      -webkit-animation-fill-mode: forwards;
              animation-fill-mode: forwards;
      -webkit-animation-iteration-count: infinite;
              animation-iteration-count: infinite;
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
      -webkit-animation-play-state: running;
              animation-play-state: running;
    }
    .num:before, .num:after {
      overflow: hidden;
      position: absolute;
      left: 0;
      display: block;
      height: 50%;
      width: 100%;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      text-align: center;
      text-shadow: 0 1px 2px #333;
    }
    .num:before {
      content: attr(data-num);
      z-index: 1;
      top: 0;
      border-radius: 5px 5px 0 0;
      box-shadow: inset 0 15px 50px #111111;
      background: #181818;
      line-height: 1.38;
    }
    .num:after {
      content: attr(data-num-next);
      top: 0;
      height: calc(50% - 1px);
      border-bottom: 1px solid #444444;
      border-radius: 0 0 5px 5px;
      box-shadow: inset 0 15px 50px #202020;
      background: #2a2a2a;
      line-height: 0;
      -webkit-transform: rotateX(180deg);
              transform: rotateX(180deg);
    }
    
    .nums._units .num:nth-of-type(1) {
      z-index: 10;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 0s;
              animation-delay: 0s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(1) {
      z-index: 10;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 9s;
              animation-delay: 9s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    
    .nums._units .num:nth-of-type(2) {
      z-index: 9;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 1s;
              animation-delay: 1s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(2) {
      z-index: 9;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 19s;
              animation-delay: 19s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    .nums._units .num:nth-of-type(3) {
      z-index: 8;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 2s;
              animation-delay: 2s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(3) {
      z-index: 8;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 29s;
              animation-delay: 29s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
      
    
    .nums._units .num:nth-of-type(4) {
      z-index: 7;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 3s;
              animation-delay: 3s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(4) {
      z-index: 7;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 39s;
              animation-delay: 39s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    
    .nums._units .num:nth-of-type(5) {
      z-index: 6;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 4s;
              animation-delay: 4s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(5) {
      z-index: 6;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 49s;
              animation-delay: 49s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    
    .nums._units .num:nth-of-type(6) {
      z-index: 5;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 5s;
              animation-delay: 5s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(6) {
      z-index: 5;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 59s;
              animation-delay: 59s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    .nums._units .num:nth-of-type(7) {
      z-index: 4;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 6s;
              animation-delay: 6s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(7) {
      z-index: 4;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 69s;
              animation-delay: 69s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
      
    
    .nums._units .num:nth-of-type(8) {
      z-index: 3;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 7s;
              animation-delay: 7s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(8) {
      z-index: 3;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 79s;
              animation-delay: 79s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    
    .nums._units .num:nth-of-type(9) {
      z-index: 2;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 8s;
              animation-delay: 8s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(9) {
      z-index: 2;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 89s;
              animation-delay: 89s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    
    .nums._units .num:nth-of-type(10) {
      z-index: 1;
      -webkit-animation-name: num-units;
              animation-name: num-units;
      -webkit-animation-delay: 9s;
              animation-delay: 9s;
      -webkit-animation-duration: 10s;
              animation-duration: 10s;
    }
    
    .nums._tens .num:nth-of-type(10) {
      z-index: 1;
      -webkit-animation-name: num-tens;
              animation-name: num-tens;
      -webkit-animation-delay: 99s;
              animation-delay: 99s;
      -webkit-animation-duration: 100s;
              animation-duration: 100s;
    }
    
     
    
    @-webkit-keyframes num-units {
      0% {
        z-index: 50;
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      10% {
        z-index: 50;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90% {
        z-index: 1;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90.0001% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      100% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
    }
    
    @keyframes num-units {
      0% {
        z-index: 50;
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      10% {
        z-index: 50;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90% {
        z-index: 1;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90.0001% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      100% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
    }
    @-webkit-keyframes num-tens {
      0% {
        z-index: 50;
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      1% {
        z-index: 50;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90% {
        z-index: 1;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90.0001% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      100% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
    }
    @keyframes num-tens {
      0% {
        z-index: 50;
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      1% {
        z-index: 50;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90% {
        z-index: 1;
        -webkit-transform: rotateX(-180deg);
                transform: rotateX(-180deg);
      }
      90.0001% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
      100% {
        -webkit-transform: rotateX(0);
                transform: rotateX(0);
      }
    }
      
    </style>
    
    <body>
    <div id="modal-window">
      <div class="header">
        <a href="#modal-close" title="Close" class="modal-close">X</a>
      </div>
        <h1>Testseite</h1>
        <div>Das ist eine Testseite</div>
      </div>
    </div>
    <div class="frame">
      <input class="tgl" id="button" type="checkbox"><label class="tgl-btn" for="button"></label></input>
      <div class="counter">
        <div class="nums _tens">
          <div class="num" data-num="0" data-num-next="1"></div>
          <div class="num" data-num="1" data-num-next="2"></div>
          <div class="num" data-num="2" data-num-next="3"></div>
          <div class="num" data-num="3" data-num-next="4"></div>
          <div class="num" data-num="4" data-num-next="5"></div>
          <div class="num" data-num="5" data-num-next="6"></div>
          <div class="num" data-num="6" data-num-next="7"></div>
          <div class="num" data-num="7" data-num-next="8"></div>
          <div class="num" data-num="8" data-num-next="9"></div>
          <div class="num" data-num="9" data-num-next="0"></div>
        </div>
        <div class="nums _units">
          <div class="num" data-num="0" data-num-next="1"></div>
          <div class="num" data-num="1" data-num-next="2"></div>
          <div class="num" data-num="2" data-num-next="3"></div>
          <div class="num" data-num="3" data-num-next="4"></div>
          <div class="num" data-num="4" data-num-next="5"></div>
          <div class="num" data-num="5" data-num-next="6"></div>
          <div class="num" data-num="6" data-num-next="7"></div>
          <div class="num" data-num="7" data-num-next="8"></div>
          <div class="num" data-num="8" data-num-next="9"></div>
          <div class="num" data-num="9" data-num-next="0"></div>
        </div>
      </div>
    </div>
    </body>