En una tabla HTML, el cellpaddingy cellspacingse puede establecer así:
<table cellspacing="1" cellpadding="1">
¿Cómo se puede lograr lo mismo usando CSS?
html
css
html-table
alignment
kokos
fuente
fuente

width:autoentoncesborder-collapsepodría no funcionar como se esperaba.Respuestas:
Lo esencial
Para controlar "cellpadding" en CSS, simplemente puede usar
paddingen las celdas de la tabla. Por ejemplo, para 10px de "cellpadding":Para el "espacio de celdas", puede aplicar la
border-spacingpropiedad CSS a su tabla. Por ejemplo, para 10px de "espaciado de células":Esta propiedad incluso permitirá un espaciado horizontal y vertical por separado, algo que no podría hacer con el "espacio de celdas" de la vieja escuela.
Problemas en IE <= 7
Esto funcionará en casi todos los navegadores populares, excepto en Internet Explorer hasta Internet Explorer 7, donde casi no tienes suerte. Digo "casi" porque estos navegadores aún admiten la
border-collapsepropiedad, que fusiona los bordes de las celdas de tabla adyacentes. Si está tratando de eliminar el espacio entre celdas (es decir,cellspacing="0")border-collapse:collapsedebería tener el mismo efecto: no hay espacio entre las celdas de la tabla. Sin embargo, este soporte tiene errores, ya que no anula uncellspacingatributo HTML existente en el elemento de la tabla.En resumen: para los navegadores que no son de Internet Explorer 5-7, lo
border-spacingmaneja. Para Internet Explorer, si su situación es correcta (desea 0 espacios de celdas y su tabla no lo tiene definido), puede usarloborder-collapse:collapse.Nota: Para obtener una excelente descripción general de las propiedades CSS que se pueden aplicar a las tablas y para qué navegadores, consulte esta fantástica página de Quirksmode .
fuente
Defecto
El comportamiento predeterminado del navegador es equivalente a:
Cellpadding
Establece la cantidad de espacio entre el contenido de la celda y la pared de la celda.
Espaciamiento celular
Controla el espacio entre las celdas de la tabla.
Ambos
Ambos (especial)
¡Inténtalo tú mismo!
Aquí puede encontrar la antigua forma HTML de lograr esto.
fuente
fuente
cellspacing=0equivalente El equivalente paracellspacing=1es completamente diferente. Ver la respuesta aceptada.table tdytable thsolo sertdythrespectivamente? Funciona de cualquier manera, pero un selector más pequeño significa una coincidencia ligeramente más rápidatable > tr > tdytable > tr > th. Esto es casi tan rápido comotryth, y está garantizado que funcionará si tiene una tabla anidada. Just my 2ctablenecesita el selector? IIRC, a<td>no es válido a menos que esté dentro de a<tr>.Establecer márgenes en las celdas de la tabla realmente no tiene ningún efecto hasta donde yo sé. El verdadero equivalente CSS para
cellspacingesborder-spacing, pero no funciona en Internet Explorer.Puede usar
border-collapse: collapsepara establecer de manera confiable el espacio entre celdas en 0 como se mencionó, pero para cualquier otro valor, creo que la única forma de navegador cruzado es seguir usando elcellspacingatributo.fuente
border-collapsesolo funciona en IE 5-7 si la tabla aún no tiene uncellspacingatributo definido. He escrito una respuesta integral que combina todas las partes correctas de las otras respuestas en esta página en caso de que sea útil.Este truco funciona para Internet Explorer 6 y versiones posteriores, Google Chrome , Firefox y Opera :
La
*declaración es para Internet Explorer 6 y 7, y otros navegadores lo ignorarán correctamente.expression('separate', cellSpacing = '10px')devuelve'separate', pero ambas declaraciones se ejecutan, ya que en JavaScript puede pasar más argumentos de los esperados y todos serán evaluados.fuente
Para aquellos que desean un valor de espacio de celdas distinto de cero, el siguiente CSS funcionó para mí, pero solo puedo probarlo en Firefox.
Consulte el enlace Quirksmode publicado en otro lugar para obtener detalles de compatibilidad. Parece que puede no funcionar con versiones anteriores de Internet Explorer.
fuente
La solución simple a este problema es:
fuente
Además, si lo desea
cellspacing="0", no olvide agregarborder-collapse: collapseen sutablehoja de estilo.fuente
Envuelva el contenido de la celda con un div y puede hacer lo que quiera, pero debe envolver cada celda en una columna para obtener un efecto uniforme. Por ejemplo, para obtener márgenes más amplios de izquierda y derecha:
Entonces el CSS será,
Sí, es una molestia. Sí, funciona con Internet Explorer. De hecho, solo he probado esto con Internet Explorer, porque eso es todo lo que podemos usar en el trabajo.
fuente
Solo use
border-collapse: collapsepara su mesa, ypaddingparathotd.fuente
Este estilo es para el reinicio completo de las tablas : relleno de celdas , espaciado de celdas y bordes .
Tenía este estilo en mi archivo reset.css:
fuente
TBH. Para todos los fannying con CSS, también podrías usar
cellpadding="0"cellspacing="0"ya que no están en desuso ...Cualquier otra persona que sugiera márgenes
<td>obviamente no ha intentado esto.fuente
fuente
Simplemente use reglas de relleno CSS con datos de tabla:
Y para el espacio entre bordes:
Sin embargo, puede crear problemas en versiones anteriores de navegadores como Internet Explorer debido a la implementación de diferencias del modelo de caja.
fuente
Por lo que entiendo de las clasificaciones W3C es que
<table>s están destinados a mostrar datos 'solo'.En base a eso, encontré que era mucho más fácil crear una
<div>con los fondos y todo eso y tener una tabla con datos flotando sobre ella usandoposition: absolute;ybackground: transparent;...Funciona en Chrome, Internet Explorer (6 y posterior) y Mozilla Firefox (2 y posterior).
Se utilizan márgenes (o significan todos modos) para crear un separador entre elementos de recipiente, como
<table>,<div>y<form>, no<tr>,<td>,<span>o<input>. Usarlo para algo que no sea elementos de contenedor lo mantendrá ocupado ajustando su sitio web para futuras actualizaciones del navegador.fuente
CSS:
fuente
Puede configurar fácilmente el relleno dentro de las celdas de la tabla utilizando la propiedad de relleno CSS. Es una forma válida de producir el mismo efecto que el atributo cellpadding de la tabla.
De manera similar, puede usar la propiedad de espaciado de borde de CSS para aplicar el espaciado entre los bordes de celda de la tabla adyacentes como el atributo de espaciado de celdas. Sin embargo, para trabajar el espacio entre bordes, el valor de la propiedad de colapso del borde debe estar separado, lo cual es predeterminado.
fuente
Prueba esto:
O prueba esto:
fuente
Solía
!importantdespués del colapso de la frontera comoy me funciona en IE7. Parece anular el atributo de espacio de celdas.
fuente
!importantsolo sería necesario para anular otras configuraciones de CSS en una situación compleja (e incluso, en su mayoría, un enfoque incorrecto).!important, que podría haberse incluido como un comentario en lugar de otra respuesta.cell-paddingse puede darpaddingen CSS, mientras quecell-spacingse puede configurar estableciendoborder-spacingde la tabla.Violín .
fuente
Si
marginno funciona, intenta establecerdisplaydetrablocky luego funcionará margen.fuente
Para las tablas, el espacio entre celdas y el relleno de celdas son obsoletos en HTML 5.
Ahora para el espaciado de celdas debe usar el espaciado de bordes. Y para el relleno de celdas, debe usar el colapso del borde.
Y asegúrese de no usar esto en su código HTML5. Siempre trate de usar estos valores en un archivo CSS 3.
fuente
fuente
En una tabla HTML, el
cellpaddingycellspacingse puede establecer así:Para relleno de celdas :
Simplemente llame al
td/thcelular simplepadding.Ejemplo:
Mostrar fragmento de código
Para espaciamiento celular
Solo llama simple
tableborder-spacingEjemplo:
Mostrar fragmento de código
Más estilo de tabla por enlace fuente CSS aquí obtienes más estilo de tabla por CSS .
fuente
Simplemente puede hacer algo como esto en su CSS, usando
border-spacingypadding:fuente
¿Qué tal si agrega el estilo directamente a la tabla en sí? Esto es en lugar de usarlo
tableen su CSS, que es un enfoque MALO si tiene varias tablas en su página:fuente
td { padding: ... }otable { border-spacing: ... }, en lugar de aplicarla directamente a la tabla. Esos no agregan nada. Como dije, cuando tienes varias tablas en tu página y no quieres afectarlas, ¡no quieres hacerlo! No necesitamos una página completa de respuestas que diga "¡Use la hoja de estilo!", Cuando tal vez sea lo último que desea, porque solo desea formatear para una celda o tabla. Eso es cuando aplicarlotableotdes indeseable y crear una clase completamente nueva para él es excesivo.table#someId).Sugiero esto y todas las celdas de la tabla en particular se efectúan.
fuente
Puede verificar el siguiente código, simplemente cree un
index.htmly ejecútelo.SALIDA
fuente