Eu tenho aqui dois divs:
<div style="display:table-cell" id="div1">
content
</div>
<div style="display:table-cell" id="div2">
content
</div>
Existe uma maneira de abrir espaço entre esses dois divs (que têm display:table-cell
)?
html
css
css-tables
System-x32z
fonte
fonte
position: relative
,.position: relative
sobretable-*-group
,table-row
,table-column
,table-cell
, etable-caption
elementos é indefinido.border-right: 10px solid #FFF
. Isso funcionou bem para mim ao projetar um menu suspenso CSS, quando eu queria algum espaço entre ostable-cell
elementos.Use bordas transparentes, se possível.
JSFiddle Demo
https://jsfiddle.net/74q3na62/
HTML
CSS
Explicação
Você poderia usar a
border-spacing
propriedade, como a resposta aceita sugere, mas isso não só gera espaço entre as células da tabela, mas também entre as células da tabela e o recipiente da tabela. Isso pode ser indesejado.Se você não precisa de bordas visíveis nas células de sua tabela, você deve usar
transparent
bordas para gerar as margens das células. Bordas transparentes requerem configuração,background-clip: padding-box;
caso contrário, a cor de fundo das células da tabela é exibida na borda.Bordas transparentes e clipes de fundo são suportados no IE9 ou superior (e em todos os outros navegadores modernos). Se você precisa de compatibilidade com o IE8 ou não precisa de espaço transparente real, você pode simplesmente definir uma cor de borda branca e deixar de
background-clip
fora.fonte
fonte
Bem, o acima funciona, aqui está minha solução que requer um pouco menos de marcação e é mais flexível.
fonte
Faça um novo div com qualquer nome (usarei apenas table-split) e dê-lhe uma largura, sem adicionar conteúdo, enquanto o posiciona entre os divs necessários que precisam ser separados.
Você pode adicionar a largura que achar necessária. Usei apenas 0,6% porque é o que eu precisava quando tinha que fazer isso.
fonte