Przejdź do treści
.container   .iphone     .buttons       .silent       .sleep       .vol-up       .vol-down     .top       .black-bar       .iphone-top     .components       .speaker       .camera         .shine-left         .shine-right     .top-bar     .bottom-bar     .screen       video(loop autoplay muted)         source(src=’https://s3-us-west-2.amazonaws.com/s.cdpn.io/1116884/iphone-vid.mp4′ type=”video/mp4″)       .stuff         .service           – for(var i = 0; i < 4; i++)             .bar         .battery           .nub           .energy         .lock-carrier AT&T         .lock-lock         .info           .lock-time            .lock-date          .lock-bar      // goo filter for notch shape svg(viewbox="0 0 0 0" height="0" width="0")   filter(id="goo" color-interpolation-filters="sRGB")     feGaussianBlur(in="SourceGraphic" stdDeviation="4" result="blur")     feColorMatrix(in="blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 8 -1" result="cm")     feBlend(in="sourceGraphic" in2="cm" mode="multiply") @import url('https://fonts.googleapis.com/css?family=Heebo:100') // mixins // Flexbox display =flexbox()    display:  -webkit-box   display:  -moz-box   display:  -ms-flexbox   display:  -webkit-flex   display:  flex    // Flex Flow Direction // - applies to: flex containers // row | row-reverse | column | column-reverse =flex-direction($direction)   -webkit-flex-direction:   $direction   -moz-flex-direction:      $direction   -ms-flex-direction:       $direction   flex-direction:           $direction    // Axis Alignment // - applies to: flex containers // flex-start | flex-end | center | space-between | space-around  =justify-content($justify)   -webkit-justify-content:  $justify   -moz-justify-content:     $justify   -ms-justify-content:      $justify   justify-content:          $justify   -ms-flex-pack:            $justify    // Cross-axis Alignment // - applies to: flex containers // flex-start | flex-end | center | baseline | stretch  =align-items($align)    -webkit-align-items:  $align   -moz-align-items:     $align   -ms-align-items:      $align   align-items:          $align // generic transform =transform($transforms)   -moz-transform:           $transforms   -o-transform:             $transforms   -ms-transform:            $transforms   -webkit-transform:        $transforms   transform:                $transforms // scale =scale($scale)   +transform(scale($scale))      // border-radius: allows for 1 - 4 arguments =border-radius($tl, $tr: $tl, $br: $tl, $bl: $tl)   -moz-border-radius:       $tl $tr $br $bl   -webkit-border-radius:    $tl $tr $br $bl   border-radius:            $tl $tr $br $bl =filter($value)    -webkit-filter:   $value   -moz-filter:      $value   -o-filter:        $value   filter:           $value    //box shadow (allows for multiple box shadows) =box-shadow($shadow...)   -webkit-box-shadow:       $shadow   -moz-box-shadow:          $shadow      box-shadow:               $shadow   //box sizing =box-sizing($sizing)   -webkit-box-sizing:   $sizing   -moz-box-sizing:      $sizing   box-sizing:           $sizing    // end mixins  html   +box-sizing(border-box)   font-family: 'Heebo', sans-serif    html, body   height: 100% *, *:after, *:before   +box-sizing(inherit) body   margin: 0   background: #EAEAEA    .container   position: absolute   height: 100%   width: 100%   padding: 0.5rem   +flexbox   +justify-content(center)   +align-items(center)    .iphone   position: absolute   height: 875px   width: 423px   padding: 0 15px   +flexbox   +justify-content(center)   +align-items(center)   background: #111   border: 5px solid #3D3D3D   +border-radius(50px)   +box-shadow(inset 0 0 3px 0 rgba(0,0,0,0.2), 0 0 0 1px #999, 0 0 30px 0px rgba(0,0,0,0.7))   +scale(0.6)   .buttons     .silent,     .vol-up,     .vol-down,     .sleep       background: #111       position: absolute       +border-radius(2px, 0, 0, 2px)     .silent        height: 40px       width: 3px       top: 100px       left: -8px     .vol-up,     .vol-down       left: -8px       height: 60px       width: 4px     .sleep       left: auto       right: -8px       top: 180px       height: 100px       width: 4px       +border-radius(0, 2px, 2px, 0)     .vol-up       top: 170px     .vol-down       top: 250px   .top     position: absolute     top: 4px     width: 100%     +flexbox     +justify-content(center)     z-index: 4     +filter(url('#goo'))     .black-bar       position: absolute       height: 1px       width: 70%       padding-top: 2px       background: #111     .iphone-top       position: relative       height: 40px       width: 55%       +flexbox       +justify-content(center)       +align-items(center)       +border-radius(0, 0, 20px, 20px)       background: #111       z-index: 2   .components     position: absolute     top: 20px     padding-left: 12px     +flexbox     +justify-content(center)     +align-items(center)     .speaker       height: 6px       width: 70px       margin: 0 30px       +border-radius(6px)       border-bottom: 1px solid #333       background: #222       z-index: 100     .camera       height: 15px       width: 15px       +border-radius(50%)       border-bottom: 1px solid #444       background: radial-gradient(black, #333)       opacity: 0.5       z-index: 4       .shine-left         position: absolute         height: 10px         width: 10px         margin: 2px         border-left: 4px solid dodgerblue         border-right: transparent         background: black         +border-radius(50%)         +filter(blur(1.8px))         &:before           content: ''           position: absolute           right: 0px           height: 8px           width: 8px           border-right: 2px solid white           +border-radius(4px)   .top-bar, .bottom-bar     position: absolute     left: -5px     height: 15px     width: 423px     border:        left: 5px solid #111       right: 5px solid #111   .top-bar     top: 65px   .bottom-bar     bottom: 65px   .screen     position: absolute     height: calc(100% - 12px)     width: calc(100% - 12px)     margin: 0 auto     border: 2px solid rgba(0,0,0,0.9)     +border-radius(40px)     overflow: hidden     .stuff       height: 100%       width: 100%       +flexbox       +flex-direction(column)       +justify-content(center)       +align-items(center)       & *         z-index: 200     .info       position: absolute       top: 140px       +flexbox       +flex-direction(column)       +justify-content(center)       +align-items(center)       z-index: 200     .time       position: absolute       top: 8px       left: 30px       line-height: 1px       color: white       font-size: 1.2em       font-weight: 200     .lock-lock       position: absolute       top: 95px        height: 26px       width: 34px       background: white       +border-radius(3px)       &:before         content: ''         position: absolute         top: -18px         right: 4px         height: 30px          width: 26px         border: 4px solid white         +border-radius(26px)     .lock-carrier,      .lock-time,      .lock-date       color: white     .lock-time       margin: 2rem 0 1.6rem 0       line-height: 3rem     .lock-carrier       position: absolute       top: 11px       left: 42px       font-weight: 200       font-size: 0.9em       z-index: 200     .lock-time       font-size: 6em       font-weight: 100       color: white     .lock-date       font-weight: 100       font-size: 1.5em     .lock-swipe,     .lock-bar,     .service       position: absolute       font-family: "Helvetica Neue", sans-serif     .lock-swipe       bottom: 25px       font-size: 1.1em       font-weight: 100       color: white     .lock-bar       bottom: 10px       height: 4px       width: 45%       +border-radius(2px)       background: white     .service       top: 12px       left: 12px       height: 14px       width: 25px       +flexbox       +justify-content(space-between)       +align-items(flex-end)       .bar         width: 4px         +flexbox         +border-radius(1px)         background: white         &:first-child           height: 2px         &:nth-child(2)           height: 6px         &:nth-child(3)           height: 10px         &:last-child           height: 14px     .battery       position: absolute       top: 11px       right: 32px       height: 16px       width: 32px       border: 1px solid white       +border-radius(2px)       +flexbox       +align-items(center)       z-index: 200       .nub,       .energy         position: absolute         background: white       .nub         top: 4px         right: -4px         height: 6px         width: 2px         +border-radius(0, 4px, 4px, 0)       .energy         left: 1px         height: 12px         width: 18px         +border-radius(1px, 0, 0, 1px) @media screen and (max-height: 500px)   .iphone     +scale(0.35) @import url('https://fonts.googleapis.com/css?family=Heebo:100') // mixins // Flexbox display =flexbox()    display:  -webkit-box   display:  -moz-box   display:  -ms-flexbox   display:  -webkit-flex   display:  flex    // Flex Flow Direction // - applies to: flex containers // row | row-reverse | column | column-reverse =flex-direction($direction)   -webkit-flex-direction:   $direction   -moz-flex-direction:      $direction   -ms-flex-direction:       $direction   flex-direction:           $direction    // Axis Alignment // - applies to: flex containers // flex-start | flex-end | center | space-between | space-around  =justify-content($justify)   -webkit-justify-content:  $justify   -moz-justify-content:     $justify   -ms-justify-content:      $justify   justify-content:          $justify   -ms-flex-pack:            $justify    // Cross-axis Alignment // - applies to: flex containers // flex-start | flex-end | center | baseline | stretch  =align-items($align)    -webkit-align-items:  $align   -moz-align-items:     $align   -ms-align-items:      $align   align-items:          $align // generic transform =transform($transforms)   -moz-transform:           $transforms   -o-transform:             $transforms   -ms-transform:            $transforms   -webkit-transform:        $transforms   transform:                $transforms // scale =scale($scale)   +transform(scale($scale))      // border-radius: allows for 1 - 4 arguments =border-radius($tl, $tr: $tl, $br: $tl, $bl: $tl)   -moz-border-radius:       $tl $tr $br $bl   -webkit-border-radius:    $tl $tr $br $bl   border-radius:            $tl $tr $br $bl =filter($value)    -webkit-filter:   $value   -moz-filter:      $value   -o-filter:        $value   filter:           $value    //box shadow (allows for multiple box shadows) =box-shadow($shadow...)   -webkit-box-shadow:       $shadow   -moz-box-shadow:          $shadow      box-shadow:               $shadow   //box sizing =box-sizing($sizing)   -webkit-box-sizing:   $sizing   -moz-box-sizing:      $sizing   box-sizing:           $sizing    // end mixins  html   +box-sizing(border-box)   font-family: 'Heebo', sans-serif    html, body   height: 100% *, *:after, *:before   +box-sizing(inherit) body   margin: 0   background: #EAEAEA    .container   position: absolute   height: 100%   width: 100%   padding: 0.5rem   +flexbox   +justify-content(center)   +align-items(center)    .iphone   position: absolute   height: 875px   width: 423px   padding: 0 15px   +flexbox   +justify-content(center)   +align-items(center)   background: #111   border: 5px solid #3D3D3D   +border-radius(50px)   +box-shadow(inset 0 0 3px 0 rgba(0,0,0,0.2), 0 0 0 1px #999, 0 0 30px 0px rgba(0,0,0,0.7))   +scale(0.6)   .buttons     .silent,     .vol-up,     .vol-down,     .sleep       background: #111       position: absolute       +border-radius(2px, 0, 0, 2px)     .silent        height: 40px       width: 3px       top: 100px       left: -8px     .vol-up,     .vol-down       left: -8px       height: 60px       width: 4px     .sleep       left: auto       right: -8px       top: 180px       height: 100px       width: 4px       +border-radius(0, 2px, 2px, 0)     .vol-up       top: 170px     .vol-down       top: 250px   .top     position: absolute     top: 4px     width: 100%     +flexbox     +justify-content(center)     z-index: 4     +filter(url('#goo'))     .black-bar       position: absolute       height: 1px       width: 70%       padding-top: 2px       background: #111     .iphone-top       position: relative       height: 40px       width: 55%       +flexbox       +justify-content(center)       +align-items(center)       +border-radius(0, 0, 20px, 20px)       background: #111       z-index: 2   .components     position: absolute     top: 20px     padding-left: 12px     +flexbox     +justify-content(center)     +align-items(center)     .speaker       height: 6px       width: 70px       margin: 0 30px       +border-radius(6px)       border-bottom: 1px solid #333       background: #222       z-index: 100     .camera       height: 15px       width: 15px       +border-radius(50%)       border-bottom: 1px solid #444       background: radial-gradient(black, #333)       opacity: 0.5       z-index: 4       .shine-left         position: absolute         height: 10px         width: 10px         margin: 2px         border-left: 4px solid dodgerblue         border-right: transparent         background: black         +border-radius(50%)         +filter(blur(1.8px))         &:before           content: ''           position: absolute           right: 0px           height: 8px           width: 8px           border-right: 2px solid white           +border-radius(4px)   .top-bar, .bottom-bar     position: absolute     left: -5px     height: 15px     width: 423px     border:        left: 5px solid #111       right: 5px solid #111   .top-bar     top: 65px   .bottom-bar     bottom: 65px   .screen     position: absolute     height: calc(100% - 12px)     width: calc(100% - 12px)     margin: 0 auto     border: 2px solid rgba(0,0,0,0.9)     +border-radius(40px)     overflow: hidden     .stuff       height: 100%       width: 100%       +flexbox       +flex-direction(column)       +justify-content(center)       +align-items(center)       & *         z-index: 200     .info       position: absolute       top: 140px       +flexbox       +flex-direction(column)       +justify-content(center)       +align-items(center)       z-index: 200     .time       position: absolute       top: 8px       left: 30px       line-height: 1px       color: white       font-size: 1.2em       font-weight: 200     .lock-lock       position: absolute       top: 95px        height: 26px       width: 34px       background: white       +border-radius(3px)       &:before         content: ''         position: absolute         top: -18px         right: 4px         height: 30px          width: 26px         border: 4px solid white         +border-radius(26px)     .lock-carrier,      .lock-time,      .lock-date       color: white     .lock-time       margin: 2rem 0 1.6rem 0       line-height: 3rem     .lock-carrier       position: absolute       top: 11px       left: 42px       font-weight: 200       font-size: 0.9em       z-index: 200     .lock-time       font-size: 6em       font-weight: 100       color: white     .lock-date       font-weight: 100       font-size: 1.5em     .lock-swipe,     .lock-bar,     .service       position: absolute       font-family: "Helvetica Neue", sans-serif     .lock-swipe       bottom: 25px       font-size: 1.1em       font-weight: 100       color: white     .lock-bar       bottom: 10px       height: 4px       width: 45%       +border-radius(2px)       background: white     .service       top: 12px       left: 12px       height: 14px       width: 25px       +flexbox       +justify-content(space-between)       +align-items(flex-end)       .bar         width: 4px         +flexbox         +border-radius(1px)         background: white         &:first-child           height: 2px         &:nth-child(2)           height: 6px         &:nth-child(3)           height: 10px         &:last-child           height: 14px     .battery       position: absolute       top: 11px       right: 32px       height: 16px       width: 32px       border: 1px solid white       +border-radius(2px)       +flexbox       +align-items(center)       z-index: 200       .nub,       .energy         position: absolute         background: white       .nub         top: 4px         right: -4px         height: 6px         width: 2px         +border-radius(0, 4px, 4px, 0)       .energy         left: 1px         height: 12px         width: 18px         +border-radius(1px, 0, 0, 1px) @media screen and (max-height: 500px)   .iphone     +scale(0.35) // My educated guess as to what the iPhone X will look like const select = s => document.querySelector(s); const displayDate = select(’.lock-date’); const displayTime = select(’.lock-time’); function updateTime() {   const date = new Date();      const hour = date.getHours() < 13     ? date.getHours() === 0        ? 12        : date.getHours()     : date.getHours() - 12      const minutes = date.getMinutes() < 10      ? `0${date.getMinutes()}`     : date.getMinutes()      const formattedDate = date.toLocaleString('en-US', {     weekday: 'long',     month: 'long',     day: 'numeric'    })      displayTime.innerText = `${hour}:${minutes}`;   displayDate.innerText = formattedDate;      requestAnimationFrame(updateTime); } updateTime();