Although this question was asked 9yrs ago and a lot of the answers would “work”. CSS has evolved and you can now do it in a single line without using calc.
One liner (2018) answer:
background: linear-gradient(#000, #000) no-repeat center/2px 100%;
How this works
linear-gradient(#000, #000)this creates abackground-imageso we can later usebackground-sizeto contain it.no-repeatthis stops the gradient from repeating when we do putbackground-sizeon it.center– this is thebackground-positionthis is where we put the “diving line”/2px 100%– this is making the image 2px wide and 100% of the element you put it in.
This is the extended version:
background-image: linear-gradient(#000, #000);
background-size: 2px 100%;
background-repeat: no-repeat;
background-position: center center;