Alguém sabe estilizar tr como gostamos?
Eu usei border-collapse na tabela, depois que tr's podem exibir borda sólida de 1px que eu indiquei.
No entanto, quando tentei -moz-border-radius
, não funcionou. Mesmo a margem simples não funciona.
Você só pode aplicar border-radius a td, não tr ou table. Eu resolvi isso para tabelas de cantos arredondados usando estes estilos:
table { border-collapse: separate; }
td { border: solid 1px #000; }
tr:first-child td:first-child { border-top-left-radius: 10px; }
tr:first-child td:last-child { border-top-right-radius: 10px; }
tr:last-child td:first-child { border-bottom-left-radius: 10px; }
tr:last-child td:last-child { border-bottom-right-radius: 10px; }
Certifique-se de fornecer todos os prefixos do fornecedor. Aqui está um exemplo disso em ação .
border-collapse: separate;
, isso não funcionará.separate
é necessário para o Chrome 44.Espaçamento real entre linhas
Este é um tópico antigo, mas percebi ler os comentários do OP em outras respostas que o objetivo original aparentemente era ter
border-radius
nas linhas e lacunas entre as linhas. Não parece que as soluções atuais façam exatamente isso. A resposta de theazureshadow está indo na direção certa, mas parece precisar de um pouco mais.Para os interessados nisso , aqui está um violino que separa as linhas e aplica o raio a cada linha. (NOTA: Atualmente, o Firefox tem um bug na exibição / recorte
background-color
nos raios da borda .)O código é o seguinte (e como o zureshadow observou, para suporte de navegador anterior, os vários prefixos de fornecedor para
border-radius
necessidade adicionados).fonte
Informação de bônus:
border-radius
não tem efeito em mesas comborder-collapse: collapse;
e borda definida emtd
's. E não importa seborder-radius
é definido emtable
,tr
outd
-É ignorado.http://jsfiddle.net/Exe3g/
fonte
O elemento tr honra o raio da borda. Pode usar html puro e css, sem javascript.
Link JSFiddle: http://jsfiddle.net/pflies/zL08hqp1/10/
fonte
Acho que derrubar suas fronteiras é a coisa errada a fazer neste caso. Colapsá-los significa basicamente que a fronteira entre duas células vizinhas torna-se compartilhada. Isso significa que não está claro em qual direção ele deve fazer a curva, dado um raio.
Em vez disso, você pode atribuir um raio de borda aos dois cantos esquerdos do primeiro TD e aos dois cantos direitos do último. Você pode usar seletores
first-child
elast-child
conforme sugerido por thezureshadow, mas eles podem ser mal suportados por versões anteriores do IE. Pode ser mais fácil apenas definir classes, como.first-column
e.last-column
para servir a esse propósito.fonte
De acordo com o Opera, o padrão CSS3 não define o uso de
border-radius
em TDs. Minha experiência é que o Firefox e o Chrome suportam, mas o Opera não (não sei sobre o IE). A solução alternativa é envolver o conteúdo td em um div e, em seguida, aplicar oborder-radius
ao div.fonte
Não tentando tirar nenhum crédito aqui, todo o crédito vai para @theazureshadow por sua resposta, mas eu pessoalmente tive que adaptá-lo para uma tabela que tem alguns em
<th>
vez de<td>
para as células da primeira linha.Só estou postando a versão modificada aqui caso alguns de vocês queiram usar a solução do @theazureshadow, mas como eu, tenho algumas
<th>
no primeiro<tr>
. A classe "reportTable" só deve ser aplicada à própria tabela:Sinta-se à vontade para ajustar os preenchimentos, raios, etc. para atender às suas necessidades. Espero que ajude as pessoas!
fonte
Descobri que adicionar border-radius a tabelas, trs e tds não parece funcionar 100% nas versões mais recentes do Chrome, FF e IE. Em vez disso, envolvo a mesa com um div e coloco o raio da borda sobre ela.
Se sua mesa não estiver
width: 100%
, você pode fazer sua embalagemfloat: left
, mas lembre-se de limpá-la.fonte
Use o colapso da borda: separado; e espaçamento entre bordas: 0; mas use apenas border-right e border-bottom para os tds, com border-top aplicado ao th e border-left aplicado apenas a tr td: nth-child (1).
Você pode então aplicar raio de borda aos tds de canto (usando nth-child para encontrá-los)
https://jsfiddle.net/j4wm1f29/
fonte
Ou use box-shadow se a tabela tiver recolhido
fonte
Todas as respostas são muito longas. A maneira mais fácil de adicionar border radius a um elemento de tabela que aceita border como uma propriedade é criando border radius com overflow: hidden.
fonte