Milestones style box sizing border box border 1px dashed green margin 0 padding 0 style script document body style min height 200px let m 2018 Regional Office In Edinburgh 2018 XBDEV Is Recognized among the Top 5 Content Educational Sites 2018 XBDEV Is Included in the Top 10 List of the Best Website in UK 2016 XBDEV Gains 500 000 Regular Viewers Worldwide 2015 XBDEV Gains 300 000 Regular Viewers Worldwide 2015 XBDEV Office Is Established in Munich Germany 2015 XBDEV Office Is Established in Moscow Russia 2014 XBDEV Gains 100 000 Regular Visitors Worldwide 2014 XBDEV is Recognized Plug and Play s Hottest Company of the Month 2013 XBDEV HQ Is Established in San Jose CA 2013 XBDEV Gains 50 000 Regular Viewers Worldwide 2012 XBDEV Gains 10 000 Regular Viewers Worldwide const r https notebook xbdev net var images rocket svg let container document createElement div document body appendChild container container id container container style height max content let toplevel document createElement div container appendChild toplevel toplevel style width 100 toplevel style height auto let rocket document createElement span toplevel appendChild rocket rocket style background image url r rocket style width 40px rocket style height 40px rocket style display block rocket style margin 0 auto rocket id rocket rocket style background color red rocket style background color gray rocket style webkit mask image url r rocket style mask image url r for let i 0 i m length i let d document createElement div container appendChild d let dl document createElement div d appendChild dl let dr document createElement div d appendChild dr d style text align center d style height max content dl style min height 10px dr style min height 10px dl style display inline block dr style display inline block dl style width 40 dr style width 40 dl style padding right 20px dr style padding left 20px dl style text align right dr style text align left dl style box sizing content box dr style box sizing content box if i 2 0 dl style border right 4px solid gray dl innerHTML div style position relative m i 0 div style top 50 middle position absolute height 4px right 20px width 15px background color gray div div div m i 1 div else dr style border left 4px solid gray dr innerHTML div style position relative m i 0 div style top 50 middle position absolute height 4px left 20px width 15px background color gray div div div m i 1 div little extra fun to show a rocket animated moving up and down the timeline let r2 document getElementById rocket const rp r2 getBoundingClientRect let cp container getBoundingClientRect let containerHeight cp console log containerHeight container clientHeight let rocket2 document createElement div document body appendChild rocket2 rocket2 style background image url r rocket2 style width 40px rocket2 style height 40px rocket2 style display block rocket2 style margin 0 auto rocket2 style position absolute rocket2 style background color rgba 128 128 128 0 5 rocket2 style webkit mask image url r rocket2 style mask image url r rocket2 style left container clientWidth 0 5 19 px rocket2 style top container clientHeight 0 px rocket2 style transition all 8s linear setTimeout rocket2 style top 0px 1000 var end container clientHeight px 0px var count 0 setInterval rocket2 style top end count 2 count 8000 console log ready script
block dr style display inline block dl style width 40 dr style width 40 dl style padding right 20px dr style padding left 20px dl style text align right dr style text align left dl style box sizing content box dr style box sizing content box if i 2 0 dl style border right 4px solid gray dl innerHTML div style position relative m i 0 div style top 50 middle position absolute height 4px right 20px width 15px background color gray div div div m i 1 div else dr style border left 4px solid gray dr innerHTML div style position relative m i 0 div style top 50 middle position absolute height 4px left 20px width 15px background color gray div div div m i 1 div little extra fun to show a rocket animated moving up and down the timeline let r2 document getElementById rocket const rp r2 getBoundingClientRect let cp container getBoundingClientRect let containerHeight cp console log containerHeight container clientHeight let rocket2 document createElement div document body appendChild rocket2 rocket2 style background image url r rocket2 style width 40px rocket2 style height 40px rocket2 style display block rocket2 style margin 0 auto rocket2 style position absolute rocket2 style background color rgba 128 128 128 0 5 rocket2 style webkit mask image url r rocket2 style mask image url r rocket2 style left container clientWidth 0 5 19 px rocket2 style top container clientHeight 0 px rocket2 style transition all 8s linear setTimeout rocket2 style top 0px 1000 var end container clientHeight px 0px var count 0 setInterval rocket2 style top end count 2 count 8000 console log ready script