2011-12-30 31 views
22

Quiero rellenar el texto en una celda en el lado derecho con espacio adicional.html cellpadding el lado izquierdo de una celda

No uso hojas de estilo css.

este es mi código <table border="1" CELLPADDING="5"> el tamaño adecuado, por ejemplo, quiero 10.

Gracias.

+0

bastante seguro de que necesitas css, no tiene que ser una hoja de estilo externa, también puede estar en línea como Texto. Por supuesto, si lo haces en línea, debes repetirlo para cada celda en lugar de solo definirlo una vez en una hoja de estilo externa. Si no me equivoco, no hay forma de aplicar el atributo html cellpadding a solo un lado u otro. Aplica relleno a todos los lados de una celda de tabla. – TK123

+2

¿Por qué no usar css? Eso parece decir que solo usarás destornilladores de cabeza plana, independientemente del tornillo. Además, por lo que vale, el atributo 'cellpadding' está obsoleto en HTML5. – eaj

Respuesta

36

Esto es lo que css es para ... HTML no permite un relleno desigual. Cuando dices que no quieres usar hojas de estilo, ¿significa que estás de acuerdo con el CSS en línea?

<table> 
    <tr> 
     <td style="padding: 5px 10px 5px 5px;">Content</td> 
     <td style="padding: 5px 10px 5px 5px;">Content</td> 
    </tr> 
</table> 

También es posible usar JS para hacer esto si estás desesperado de no utilizar hojas de estilo por alguna razón.

+1

Gracias exactamente lo que necesito –

+0

¿Esas comillas? –

+0

@AllDaniSpringer lo arregló –

9

Sugeriría utilizar el estilo CSS en línea.

<table border="1" style="padding-right: 10px;"> 
<tr> 
<td>Content</td> 
</tr> 
</table> 

o

<table border="1"> 
<tr style="padding-right: 10px;"> 
<td>Content</td> 
</tr> 
</table> 

o

<table border="1"> 
<tr> 
<td style="padding-right: 10px;">Content</td> 
</tr> 
</table> 

No acabo de seguir lo que necesita, pero esto es lo que haría, en el supuesto que entiendo sus necesidades.

+0

Estos no son todos válidos. Los dos primeros no producirán resultados consistentes en los navegadores y no replicarán el atributo de protección de celda. Marcar la etiqueta en particular no debería usarse aquí. Si desea rellenar una celda, debe agregar el marcado a esa etiqueta. –

+0

@BenD ¿por qué la primera es inválida? –

-1

Elijo usar ambos métodos. Cellpadding sobre la mesa como una alternativa en caso de que el estilo en línea no se adhiera y el estilo en línea para la mayoría de los clientes.

<table cellpadding="5"> 
 
    <tr> 
 
    <td style='padding:5px 10px 5px 5px'>Content</td> 
 
    <td style='padding:5px 10px 5px 5px'>Content</td> 
 
    </tr> 
 
</table>

2

recientemente he tenido que hacer esto para crear mensajes de correo electrónico en busca medio decente para un cliente de correo electrónico que no admite el CSS necesario. Para una solución solo HTML, utilizo una tabla de envolver para proporcionar el relleno.

<table border="1" cellspacing="0" cellpadding="0"> 
 
    <tr><td height="5" colspan="3"></td></tr> 
 
    <tr> 
 
     <td width="5"></td> 
 
     <td> 
 
      This cells padding matches what you want. 
 
      <ul> 
 
       <li>5px Left, Top, Bottom padding</li> 
 
       <li>10px on the right</li> 
 
      </ul>  
 
      You can then put your table inside this 
 
      cell with no spacing or padding set.      
 
     </td> 
 
     <td width="10"></td> 
 
    </tr> 
 
    <tr><td height="5" colspan="3"></td></tr> 
 
</table>

A partir de 2017 sólo se haría esto para soporte de cliente de correo electrónico anterior, es bastante exagerado.

+0

No puede usar unidades en un valor de atributo de 'ancho' o 'alto'. Todos los valores están en px implícitamente. Su cliente de correo electrónico podría aceptar width = "10px" como parseInt (dígito, dígito, desconocido, desconocido) => dígito dígito –

+0

Gracias Nicholas, han estado construyendo sitios web durante décadas y nunca se dieron cuenta de esto. Es curioso cómo nunca ha sido un problema! Has actualizado el código según tu comentario. Sin embargo, tenga en cuenta que puede usar píxeles o porcentajes en los atributos de ancho/alto, tal como dijo que los píxeles no necesitan unidades. – rbuddicom

+0

Sí, olvidé mencionar porcentajes también. Y no es que los atributos "no necesiten unidades", más que el concepto de unidades abstractas no existía en Violas y Netscape Navigators de la época, quienes diseñaron los motores directamente en la memoria de video de mapas de bits. –

-3

Uso css en línea todo el tiempo PORQUE ... Quiero un control absoluto del diseño y colocar diferentes elementos alineados de forma diferente de celda a celda.

No es difícil de entender ...

De todas formas, acabo de poner algo como esto dentro de mi etiqueta:

style = 'padding: 10px 5px 5px 5px'

Cuando el auto representa arriba, derecha, abajo e izquierda.

+0

CSS no se está utilizando. –

1

Bueno, como lo sugiere Hellfire puede usar el ancho td o puede colocar un elemento en el td y ajustar su ancho. No pudimos usar

CSS property Padding 

como en Microsoft Outlook el relleno no funciona. Así que lo que tenía que hacer es,

<table> 
    <tr> 
     <td><span style="display: inline-block; width: 40px;"></span><span>Content<span></td> 
     <td>Content</td> 
    </tr> 
</table> 

Con esto se puede ajustar el espaciado de derecha e izquierda. Para el espaciado superior e inferior, puede usar la propiedad de altura de td. Me gusta,

<table> 
     <tr> 
      <td style="vertical-align: top; height: 100px;">Content</td> 
      <td>Content</td> 
     </tr> 
    </table> 

Esto aumentará el espacio inferior.

Espero que les sirva a ustedes. :)

Cuestiones relacionadas