Estoy intentando crear un correo electrónico HTML que se muestre correctamente en todos los clientes de correo electrónico más utilizados. Estoy envolviendo todo el correo electrónico en una tabla, y me gustaría que tuviera un ancho de hasta el 98% del ancho disponible, pero no mayor de 800 píxeles. Me gusta esto:
<table style="width:98%; max-width:800px;">
Pero no lo estoy haciendo de esa manera, ya que según este Outlook 2007 no es compatible con la propiedad de ancho de CSS.
En cambio, estoy haciendo esto:
<table width="98%">
¿Hay alguna forma de establecer también un ancho máximo sin depender de CSS?
html
email
html-email
css
Tim Goodman
fuente
fuente
Respuestas:
Sí, hay una forma de emular el
max-width
uso de una tabla, lo que le brinda un diseño receptivo y compatible con Outlook. Además, esta solución no requiere comentarios condicionales.Suponga que quiere el equivalente de un centrado
div
conmax-width
de350px
. Creas una tabla, estableces el ancho en100%
. La tabla tiene tres celdas seguidas. Establezca el ancho del centroTD
en350
(usando elwidth
atributo HTML , no CSS) y listo.Si desea que su contenido esté alineado a la izquierda en lugar de centrado, simplemente omita la primera celda vacía.
Ejemplo:
En el jsfiddle le doy a la tabla un borde para que pueda ver lo que está pasando, pero obviamente no querría uno en la vida real:
http://jsfiddle.net/YcwM7/
fuente
style="max-width: 100%; height: auto; width: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;"
<img src="file.jpg" "width="350" alt="" style="display:block;width:100%" />
litmus.com/community/discussions/…Hay un truco que puede hacer para Outlook 2007 utilizando comentarios html condicionales.
El código a continuación se asegurará de que la tabla de Outlook tenga 800 px de ancho, no es de ancho máximo, pero funciona mejor que dejar que la tabla se extienda por toda la ventana.
fuente
La respuesta corta: no.
La respuesta larga:
Los formatos fijos funcionan mejor para los correos electrónicos HTML. En mi experiencia, es mejor fingir que es 1999 cuando se trata de correos electrónicos HTML. Sea explícito y use atributos HTML (ancho = "650") siempre que sea posible en las definiciones de su tabla, no CSS (estilo = "ancho: 650 px"). Utilice anchos fijos, sin porcentajes. Una mesa de 650 píxeles de ancho es una apuesta segura. Utilice CSS en línea para establecer las propiedades del texto.
No se trata de lo que funciona en los "correos electrónicos HTML", sino de la plétora de clientes de correo electrónico y su capacidad limitada (y a veces deliberadamente en el caso de Gmail, Hotmail, etc.) para representar HTML.
fuente
Un poco tarde para la fiesta, pero esto lo hará. Dejé el ejemplo en 600, ya que eso es lo que la mayoría de la gente usará:
Similar al ejemplo de Shay, excepto que esto también incluye el ancho máximo para trabajar en el resto de los clientes que sí tienen soporte, así como un segundo método para evitar la expansión (consulta de medios) que se necesita para Outlook '11.
En la cabeza:
En el cuerpo:
Aquí hay otro ejemplo de esto en uso: ¿ Correos electrónicos de confirmación de pedido receptivos para dispositivos móviles?
fuente
Esta es la solución que funcionó para mí.
https://gist.github.com/elidickinson/5525752#gistcomment-1649300 , gracias a @ philipp-klinz
fuente
max-width
. Todo esto reemplazaría<div style="max-width: ...px">...</div>
. Para el correo electrónico en el que estaba trabajando cuando encontré esta esencia, esta fue la única solución que hizo que las cosas se vieran bien en Outlook 2010, 2013 y 2016.0px
padding
s ymargin
s, así como0
cellpadding
ycellspacing
. Es posible que la especificaciónline-height
funcione como un sustituto defont-size
completar los tiemposheight
no se respetan (me gustaría probarlo en todostr
los correos electrónicos y luego en todostd
los correos electrónicos para ver exactamente dónde se necesita). @EdL, si puede hacer que una solución más liviana funcione tan bien como esta, sería increíble, publíquela aquí y en esa esencia vinculada