HTML: Making a link lead to the anchor centered in the middle of the page
html:
<a id="anchor">NEWS</a>
css:
#anchor{
position: relative;
padding-top: 100px; //(whatever distance from the top of the page you want)
}
worked fine for me
Place a <span class="anchor" id="X">
then style the anchor
class like:
.anchor {
position: absolute;
transform: translateY(-50vh);
}
With -50vh
the anchor will scroll in the middle of the screen.
There is no straight way of doing this in pure html\css. It is possible though using js, by getting the element's top location and setting the page's top position to that element's position minus half of the page's height.
I found a solution Anchor Links With A Fixed Header posted by Phillip, he is a web designer. Phillip added a new EMPTY span as the anchor position.
<span class="anchor" id="section1"></span>
<div class="section"></div>
then put the following css code
.anchor{
display: block;
height: 115px; /*same height as header*/
margin-top: -115px; /*same height as header*/
visibility: hidden;
}
Thanks, Phillip!