Physic Milestones History Timeline
A Pen by januaryofmine on CodePen.
| <section class="timeline"> | |
| <ul> | |
| <li> | |
| <div> | |
| <time>1687</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Laws of motion | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Newton</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1785</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Law of electrostatic attraction | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Coulomb</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1827</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Law of Electric Resistance | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>G.S Ohm</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1831</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Electromagnetic Induction | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Michael Faraday</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1867</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Dynamite | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Alfred Nobel</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1895</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| X Rays | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Roentgen</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1897</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Electron | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>J.J.Thomson</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1898</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Radium | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Madam Curie</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1900</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Quantum Theory | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Max Plank</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1905</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Principle of Relativity | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Albert Einstein</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1905</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Photo electric effect | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Albert Einstein</span> | |
| </div> | |
| </div> | |
| </li> | |
| <li> | |
| <div> | |
| <time>1942</time> | |
| <div class="discovery"> | |
| <h1>Discovery</h1> | |
| <p> | |
| Nuclear Reactor | |
| </p> | |
| </div> | |
| <div class="scientist"> | |
| <h1>Scientist</h1> | |
| <span>Anrico Fermi</span> | |
| </div> | |
| </div> | |
| </li> | |
| </ul> | |
| </section> |
Physic Milestones History Timeline
A Pen by januaryofmine on CodePen.
| var items = document.querySelectorAll(".timeline li"); | |
| function isElementInViewport(el) { | |
| var rect = el.getBoundingClientRect(); | |
| return ( | |
| rect.top >= 0 && | |
| rect.left >= 0 && | |
| rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && | |
| rect.right <= (window.innerWidth || document.documentElement.clientWidth) | |
| ); | |
| } | |
| function callbackFunc() { | |
| for (var i = 0; i < items.length; i++) { | |
| if (isElementInViewport(items[i])) { | |
| if(!items[i].classList.contains("in-view")){ | |
| items[i].classList.add("in-view"); | |
| } | |
| } else if(items[i].classList.contains("in-view")) { | |
| items[i].classList.remove("in-view"); | |
| } | |
| } | |
| } | |
| window.addEventListener("load", callbackFunc); | |
| window.addEventListener("scroll", callbackFunc); |
| $primary-color: #fff; | |
| $background-color: linear-gradient(54deg, #9164ff, #8bfff4); | |
| $text-color: #3c3f64; | |
| *, | |
| *::before, | |
| *::after { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font: normal 16px/1.5 'Titillium Web', sans-serif; | |
| background: $background-color; | |
| color: $text-color; | |
| overflow-x: hidden; | |
| padding-bottom: 50px; | |
| } | |
| // STYLING | |
| .timeline { | |
| ul { | |
| li { | |
| list-style-type: none; | |
| position: relative; | |
| width: 6px; | |
| margin: 0 auto; | |
| padding-top: 50px; | |
| background: #fff; | |
| &::after { | |
| content: ''; | |
| position: absolute; | |
| left: 50%; | |
| bottom: 0; | |
| transform: translateX(-50%) rotate(45deg); | |
| width: 20px; | |
| height: 20px; | |
| z-index: 2; | |
| background: #eee; | |
| } | |
| div { | |
| position: relative; | |
| bottom: 0; | |
| width: 400px; | |
| padding: 20px; | |
| background: $primary-color; | |
| box-shadow: 4px 13px 30px 1px rgba(252, 56, 56, 0.2); | |
| border-radius: 5px; | |
| display: flex; | |
| align-items: center; | |
| time { | |
| position: absolute; | |
| background: #f5af19; | |
| width: 80px; | |
| height: 30px; | |
| top: -15px; | |
| border-radius: 5px; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| letter-spacing: 2px; | |
| } | |
| div { | |
| height: 100px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| align-items: center; | |
| p { | |
| text-align: center; | |
| } | |
| } | |
| .discovery { | |
| margin-right: 10px; | |
| } | |
| .scientist { | |
| } | |
| } | |
| &:nth-of-type(odd) { | |
| > div { | |
| left: 45px; | |
| } | |
| } | |
| &:nth-of-type(even) { | |
| > div { | |
| left: -439px; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| // ANIMATION | |
| .timeline { | |
| ul { | |
| li { | |
| div { | |
| visibility: hidden; | |
| opacity: 0; | |
| transition: all 0.5s ease-in-out; | |
| } | |
| &:nth-of-type(odd) { | |
| div { | |
| transform: translate3d(100px, -10px, 0) rotate(10deg); | |
| } | |
| } | |
| &:nth-of-type(even) { | |
| div { | |
| transform: translate3d(-100px, -10px, 0) rotate(10deg); | |
| } | |
| } | |
| &.in-view { | |
| div { | |
| transform: none; | |
| visibility: visible; | |
| opacity: 1; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| @media screen and (max-width: 900px) { | |
| .timeline { | |
| ul { | |
| li { | |
| div { | |
| width: 250px; | |
| flex-direction: column; | |
| div { | |
| width: 80%; | |
| margin: 10px; | |
| } | |
| } | |
| &:nth-of-type(even) { | |
| > div { | |
| left: -289px; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| @media screen and (max-width: 600px) { | |
| body { | |
| background: #8bfff4; | |
| } | |
| .timeline { | |
| ul { | |
| li { | |
| margin-left: 20px; | |
| div { | |
| width: calc(100vw - 91px); | |
| } | |
| &:nth-of-type(even) { | |
| > div { | |
| left: 45px; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } |