He estado buscando una solución durante un tiempo, pero no he encontrado nada. Quizás sean solo mis términos de búsqueda. Bueno, estoy tratando de hacer que el lienzo se centre de acuerdo con el tamaño de la ventana del navegador. El lienzo es de 800x600. Y si la ventana está por debajo de 800x600, también debería cambiar de tamaño (pero eso no es muy importante en este momento)
105
Respuestas:
Dé al lienzo las siguientes propiedades de estilo CSS:
Editar
Dado que esta respuesta es bastante popular, permítanme agregar un poco más de detalles.
Las propiedades anteriores centrarán horizontalmente el lienzo, div o cualquier otro nodo que tenga en relación con su padre. No es necesario cambiar los márgenes ni los rellenos superior o inferior. Usted especifica un ancho y deja que el navegador llene el espacio restante con los márgenes automáticos.
Sin embargo, si desea escribir menos, puede usar las propiedades abreviadas de CSS que desee, como
Sin embargo, centrar el lienzo verticalmente requiere un enfoque diferente. Debe utilizar el posicionamiento absoluto y especificar tanto el ancho como el alto. Luego, establezca las propiedades izquierda, derecha, superior e inferior en 0 y deje que el navegador llene el espacio restante con los márgenes automáticos.
El lienzo se centrará en función del primer elemento padre que se haya
position
establecido enrelative
oabsolute
, o el cuerpo si no se encuentra ninguno.Otro enfoque sería utilizar
display: flex
, que está disponible en IE11Además, asegúrese de utilizar un tipo de documento reciente, como xhtml o html 5.
fuente
Puede darle a su lienzo las propiedades CSS ff:
fuente
Simplemente centra el div en HTML:
Simplemente cambie la altura y el ancho a lo que sea y tendrá un div centrado
http://jsfiddle.net/BVghc/2/
fuente
Para centrar el elemento de lienzo horizontalmente, debe especificarlo como un nivel de bloque y dejar sus propiedades de margen izquierdo y derecho al navegador:
Si desea centrarlo verticalmente, el elemento de lienzo debe estar absolutamente posicionado:
Si desea centrarlo horizontal y verticalmente, haga:
Para obtener más información, visite: https://www.w3.org/Style/Examples/007/center.en.html
fuente
Las respuestas anteriores solo funcionan si su lienzo tiene el mismo ancho que el contenedor.
Esto funciona independientemente:
fuente
Utilice este código:
fuente
He tenido el mismo problema, ya que tengo imágenes con muchos anchos diferentes que cargo solo con información de altura. Establecer un ancho permite al navegador estirar y contraer la imagen. Resuelvo el problema al tener la línea de texto justo antes de la línea image_tag centrada (también me deshago de float: left;). Me hubiera gustado que el texto estuviera alineado a la izquierda, pero esto es un inconveniente menor que puedo tolerar.
fuente
Agregue
text-align: center;
a la etiqueta principal de<canvas>
. Eso es.Ejemplo:
fuente