Tengo un enlace a un ancla en mi página html. Cuando se hace clic en el enlace, hace que la página se desplace hacia el ancla para que el anclaje esté en la parte superior de la parte visible de la página. ¿Cómo puedo hacer que la página se desplace para que el delimitador esté en el medio de la página?HTML: Hacer que un enlace conduzca al ancla centrado en el medio de la página
Respuesta
No hay una forma directa de hacerlo en html \ css puro. Es posible, aunque usando js, obtener la ubicación superior del elemento y establecer la posición superior de la página en la posición de ese elemento menos la mitad de la altura de la página.
Determine qué parte de la página realmente desea en la parte superior y coloque allí el anclaje. No podrá cambiar la forma en que los navegadores interpretan los anclajes, al menos no sin molestar a los usuarios.
Intentaré poner un margen negativo (u otro método de posicionamiento) igual a la mitad de la altura de página en la etiqueta de anclaje de destino.
Dado que "medio de la página" es relativo al tamaño de la pantalla y ventana del usuario en un momento dado, tendrá que usar Javascript para lograr esto, ya que no hay forma en HTML/CSS puro de obtener el ancho de la pantalla vertical.
ancho de pantalla vertical, altura de pantalla a.k.a. – LarsH
Firefox admite la configuración de una propiedad de relleno en el ancla nombrada. A partir de ahí, puede establecer una cookie a través de javascript que contenga las dimensiones del navegador, y ajustar su relleno superior en el lado del servidor. Para el usuario final, se vería como su html/css puro, pero el noam es correcto en cuanto a que se necesita un poquito de JS para obtener las dimensiones del navegador, ya que no proporciona esta información sin una pequeña coacción.
he encontrado una solución Anchor Links With A Fixed Header Publicado por Phillip, que es un diseñador de páginas web. Phillip agregó un nuevo tramo VACÍO como posición de anclaje.
<span class="anchor" id="section1"></span>
<div class="section"></div>
a continuación, poner el siguiente código CSS
.anchor{
display: block;
height: 115px; /*same height as header*/
margin-top: -115px; /*same height as header*/
visibility: hidden;
}
Gracias, Phillip!
si quieres sin espacio en blanco hacerlo de esta manera:
<h2 id="jump_tag" style="padding-top: 500pt; margin-top: -500pt;"></h2>
pero, usted todavía tiene que regular la altura de JavaScript
funciona graciasx – Inderjeet
Mi solución es: colocar un estilo <span class="anchor" id="X">
entonces la clase "ancla" como:
.anchor {
position:absolute;
transform:translateY(-50vh);
}
gracias al "-50vh" se desplazará el ancla en el medio de la pantalla.
verifique https://www.w3schools.com/cssref/css_units.asp para obtener más información.
- 1. Ancla de enlace vacío
- 2. Enlace a otra página -> jquery desplácese a ancla específica
- 3. HTML en mailto ancla etiqueta
- 4. mod_rewrite con enlace de ancla
- 5. Ancla HTML para enviar los datos de la publicación al hacer clic
- 6. desactivar el desplazamiento Al hacer clic en un enlace
- 7. CakePHP - Creando un enlace URL sin la etiqueta de ancla
- 8. HTML: hacer un enlace, enviar en forma?
- 9. ¿Hay alguna forma de enlazar con el medio de la página de otra persona, incluso si no tienen un ancla?
- 10. jquery toggle: al hacer clic en el enlace salta a la parte superior de la página
- 11. ¿Cómo hacer un enlace de retroceso de HTML?
- 12. ¿Cómo enviar datos a la página PHP al hacer clic en un enlace?
- 13. Evitar hacer clic en el enlace mientras carga la página
- 14. GWT enlace seleccionable (ancla) sin href
- 15. crear un enlace al principio de una página web sin necesidad de utilizar anclas
- 16. Etiqueta de ancla HTML con el evento onclick de Javascript
- 17. Hacer un enlace Negrita al hacer clic con Jquery
- 18. Llamar a una función C# en ASP.NET al hacer clic en un enlace HTML
- 19. ¿Cómo obtener la fuente html de una página desde un enlace html en android?
- 20. \ documentclass {book} página de título centrado
- 21. android: html en la vista de texto con el enlace que se puede hacer clic
- 22. jQuery Desplazarse x píxeles desde la parte superior de la página al hacer clic en un enlace
- 23. Android WebView se cuelga al hacer clic en un enlace
- 24. Cómo hacer que el texto se centre vertical y horizontalmente en una página HTML
- 25. Javascript: ¿cómo puedo determinar si un enlace se dirige al mismo dominio que la página en la que reside?
- 26. ¿Cómo reenviar la solicitud a otra página JSP al hacer clic en un enlace en una página JSP?
- 27. Cómo deshabilitar el efecto de círculo naranja al hacer clic en un enlace, en un WebView
- 28. Recarga de la página Force con anclajes html (#) - HTML & JS
- 29. Ayuda de centrado de pie de página
- 30. Quiero que el enlace HTML al archivo .ics se abra en la aplicación de calendario al hacer clic, actualmente abre el archivo como texto sin formato. Sugerencias?
Según el ancho de la ventana del navegador y la forma en que fluye la página, este método podría hacer que el delimitador real esté debajo de la ventana gráfica.Me gustaría ir con la solución javascript, reconociendo que los navegadores sin javascript simplemente tendrán que tratar sin la característica elegante. –