Tabelas

Tabela padrão

definido em reset.css
ID Título Autor Categoria Data
132 Bordas com Imagem Marcelo Soares Perl 21/10/2023
231 Forçar https Rebeca Anchieta Apache 12/04/2023
132 MySQL JOIN com 3 tabelas Caio Souza PHP 21/11/2023
213 Forçar https Isaac Noronha JavaScript 21/09/2023
132 Joomla Natasha Valença PHP 12/05/2023
132 createTextNode Larissa Azevedo Photoshop 12/11/2023
123 Enviar valor elemento contenteditable para textarea Paloma Pascoal Illustrator 12/02/2023
<table>
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela pequena

ID Título Autor Categoria Data
312 Pseudos e Seletores Nicolas Fontes Corel Draw 21/12/2023
213 Tipos de input Lucas Dias Photoshop 21/02/2023
312 MySQL JOIN com 3 tabelas Henrique Faro Ruby 21/12/2023
123 Caracteres especiais Leonardo dos Santos Lua 21/11/2023
312 .htaccess Beatriz Pacheco Corel Draw 21/05/2023
231 Tipos de input Jonas Santana Ruby 12/10/2023
132 MVC Lucas Pascoal MySQL 12/04/2023
<table class="tsm">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela grande

ID Título Autor Categoria Data
132 MVC Fabiola Vaz XML 12/09/2023
213 List Style Marcelo Braga HTML 21/01/2023
132 PHPDoc tags Amanda Figueiredo Go 12/08/2023
132 Meta tags Matheus Vieira Python 12/06/2023
231 Joomla Joseane Siqueira Python 12/07/2023
231 Pseudos e Seletores Isaac Prado Perl 21/03/2023
312 Compilador Eva Valença Python 12/06/2023
<table class="tlg">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela sem bordas

ID Título Autor Categoria Data
123 Css Hacks Mariana Araújo Photoshop 21/04/2023
213 Condicionais ternário Sueli Trindade Java 12/01/2023
312 serialize e unserialize Amanda Vilhena Lua 12/03/2023
321 Comparar valores de arrays Dayane Teles Photoshop 12/07/2023
123 MySQL JOIN com 3 tabelas Bryan Neves Corel Draw 21/11/2023
123 MySQL JOIN com 3 tabelas Fabiola Trindade Corel Draw 12/10/2023
321 Comparar valores de arrays Samantha Ramalho MySQL 12/08/2023
<table class="borderless">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com borda nas extremidades

ID Título Autor Categoria Data
123 Meta tags Caio Gomes XML 12/04/2023
213 serialize e unserialize Vicente Sampaio PHP 21/09/2023
213 Atributos formmethod e formaction Vitor Castro XML 21/11/2023
312 List Style Henrique Siqueira Go 21/10/2023
132 Diretórios e URLs absolutos do WordPress Alícia Braga HTML 12/07/2023
231 Caracteres especiais Gustavo Anchieta Lua 12/10/2023
231 Joomla Michelle Araújo CSS 12/01/2023
<table class="outline">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com bordas horizontais

ID Título Autor Categoria Data
231 Copiar texto com click Samantha Araújo Perl 12/06/2023
321 MVC Maísa Sanches HTML 12/10/2023
321 Estados do Brasil Heitor Hernandes Apache 12/06/2023
321 O céu está vazio Jade Barros PHP 12/09/2023
132 MySQL JOIN com 3 tabelas Joseane da Silva Go 21/06/2023
312 Operadores matemáticos Iara Trindade HTML 12/08/2023
213 serialize e unserialize Pablo Pereira Go 12/04/2023
<table class="horz">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com bordas verticais

ID Título Autor Categoria Data
213 setInterval e setTimeout Marcelo Vilela Lua 12/10/2023
132 Interpretador Mariana Neves Python 12/01/2023
321 PHPDoc tags Jonas Valença Python 21/06/2023
231 Tipos de input Helena Castro JavaScript 12/02/2023
321 WordPress Lucas Vilela PHP 21/12/2023
231 setInterval e setTimeout Camila Siqueira Ruby 12/07/2023
231 Diretórios e URLs absolutos do WordPress Cauã Seixas Lua 21/04/2023
<table class="vert">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com bordas horizontais e nas extremidades

ID Título Autor Categoria Data
231 setInterval e setTimeout Caio Souza Lua 21/09/2023
213 Enviar valor elemento contenteditable para textarea Sueli Noronha Ruby 12/03/2023
132 setInterval e setTimeout Heitor Araújo Photoshop 21/07/2023
312 Caracteres especiais Bryan Pessoa Illustrator 12/02/2023
312 Botões de Compartilhamento Natasha Siqueira Apache 12/02/2023
231 Meta tags Keila Lopes Illustrator 21/07/2023
213 Blogger Joseane Pascal Corel Draw 12/01/2023
<table class="horz outline">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com bordas verticais e nas extremidades

ID Título Autor Categoria Data
312 Bordas com Imagem Thiago Farias Go 21/10/2023
123 PDO Samantha Soares XML 12/08/2023
312 Enviar valor elemento contenteditable para textarea Mariana Souza Liquidsoap 12/04/2023
312 Meta tags Henrique Plácido Illustrator 12/04/2023
213 Criar e inserir tabelas MySQL com PHP Laura Viana Ruby 12/08/2023
132 Criar e inserir tabelas MySQL com PHP Gabriel Cabral Photoshop 21/11/2023
213 Operadores matemáticos Rebeca Teixeira Liquidsoap 21/08/2023
<table class="vert outline">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com linhas listradas

ID Título Autor Categoria Data
312 serialize e unserialize Eva Prado Python 21/02/2023
312 Enviar valor elemento contenteditable para textarea Helena Faro Java 12/08/2023
132 Compilador Michelle Vasconcelos Ruby 21/07/2023
321 Meta tags Sarah Noronha XML 12/06/2023
213 PHPDoc tags Marcelo Tavares Java 21/01/2023
312 Compilador Maísa Vaz Apache 21/11/2023
231 PHPDoc tags Alícia Castro Apache 12/09/2023
<table class="striped">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com linhas listradas e bordas horizontais

ID Título Autor Categoria Data
123 Caracteres especiais Samantha Uchoa Python 21/02/2023
312 Copiar texto com click Paloma Figueiredo HTML 21/06/2023
132 Interpretador Mariana Uchoa PHP 12/05/2023
231 Compilador Samuel Plácido Illustrator 21/11/2023
123 serialize e unserialize Keila Pacheco Apache 12/04/2023
213 O céu está vazio Bryan Seixas Ruby 12/12/2023
231 Compilador Gabriel Farias Apache 21/01/2023
<table class="striped horz">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com células quadriculada

ID Título Autor Categoria Data
321 PHPDoc tags Miguel da Silva Python 21/04/2023
213 Blogger Rebeca Siqueira CSS 12/05/2023
213 Comprimir código CSS com PHP Paola Pascal HTML 21/09/2023
321 Enviar valor elemento contenteditable para textarea Ricardo Neves Java 21/05/2023
123 Copiar texto com click Pablo Uchoa Ruby 21/01/2023
132 Atributos formmethod e formaction Iara Teles XML 21/09/2023
321 Meta tags Jonas Vieira Perl 21/08/2023
<table class="chess">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>
combine outras classes para obter bordas como desejar

Linhas com efeito hover

ID Título Autor Categoria Data
213 Caracteres especiais Levi Teixeira HTML 21/07/2023
321 Sitemap XML Edna Coelho Java 21/11/2023
213 PDO Sueli Plácido Java 12/09/2023
132 MySQL JOIN com 3 tabelas Cauã Faro Illustrator 21/08/2023
123 setInterval e setTimeout Jade Plácido Ruby 12/02/2023
312 Atributos formmethod e formaction Paloma Pascal Go 12/07/2023
231 Comparar valores de arrays Gabriela da Silva Java 21/10/2023
<table class="hover horz">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com espaçamento entre as células

ID Título Autor Categoria Data
132 Operadores matemáticos Caio Pereira XML 21/10/2023
132 Estados do Brasil Gabriel Prado Perl 21/10/2023
213 Tipos de input Ricardo Almeida Go 21/08/2023
132 Operadores de comparação Heitor Dias Illustrator 21/12/2023
123 Botões de Compartilhamento Paola Uchoa Ruby 21/10/2023
231 Caracteres especiais Keila Siqueira Photoshop 21/04/2023
213 Comparar valores de arrays Amanda Lopes Perl 12/06/2023
<table class="cellspace">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela com scroll horizontal auto

ID Título Publicado por: Revisado por: Categoria Sub-Categoria Publicado em: Atualizado em:
231 Comparar valores de arrays Levi Lopes Arthur Antunes Illustrator Ruby 21/01/2023 21/07/2023
123 Meta tags William Seixas Gustavo Farias Apache Illustrator 21/11/2023 12/03/2023
132 Compilador Vitor Oliveira Mariana Gomes Ruby HTML 12/05/2023 12/06/2023
312 MySQL JOIN com 3 tabelas Edna Sanches Keila Pereira Illustrator CSS 21/01/2023 12/05/2023
312 serialize e unserialize David Trindade Gustavo Pessoa XML Lua 12/02/2023 12/01/2023
312 Interpretador Paloma Tavares Bryan Fontes Lua Perl 21/11/2023 21/06/2023
213 Estados do Brasil Jonas Lopes Enzo Arruda Python Java 12/02/2023 21/06/2023
<table class="stacktable">
    <tr>
        <th></th>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

Tabela em linha

Nome: Wellington Pragidi
Telefone: 55+(19)98179-6690
E-mail: wellington@webship.com.br
<table class="inline tlg">
    <tbody>
        <tr>
            <th>Nome:</th>
            <td>Wellington Pragidi</td>
        </tr>
        <tr>
            <th>Telefone:</th>
            <td>55+(19)98179-6690</td>
        </tr>
        <tr>
            <th>E-mail:</th>
            <td><a href="mailto:wellington@webship.com.br">wellington@webship.com.br</a></td>
        </tr>
    </tbody>
</table>

Células ocupando mais colunas

ID Produto HTML CMS PSD Valor
444 Template A Sim Não Sim R$ 3.800,00
445 Template B Não Sim R$ 1.200,00
446 Template C Sim R$ 2.000,00
447 Template D Sim Não R$ 2.430,00
<table class="txt_center">
    <tbody>
        <tr>
            <th>ID</th>
            <th>Produto</th>
            <th>HTML</th>
            <th>CMS</th>
            <th>PSD</th>
            <th>Valor</th>
        </tr>
        <tr>
            <td>444</td>
            <td>Template A</td>
            <td>Sim</td>
            <td>Não</td>
            <td>Sim</td>
            <td>R$ 3.800,00</td>
        </tr>
        <tr>
            <td>445</td>
            <td>Template B</td>
            <td>Não</td>
            <td colspan="2">Sim</td>
            <td>R$ 1.200,00</td>
        </tr>
        <tr>
            <td>446</td>
            <td>Template C</td>
            <td colspan="3">Sim</td>
            <td>R$ 2.000,00</td>
        </tr>
        <tr>
            <td>447</td>
            <td>Template D</td>
            <td colspan="2">Sim</td>
            <td>Não</td>
            <td>R$ 2.430,00</td>
        </tr>
    </tbody>
</table>

Células ocupando mais linhas

Mitologia Grega
Nórdica
Medievalismo Era vitoriana, Saudosismo
<table>
    <tbody>
        <tr>
            <td rowspan="2">Mitologia</td>
            <td>Grega</td>
        </tr>
        <tr>
            <td>Nórdica</td>
        </tr>
        <tr>
            <td>Medievalismo</td>
            <td>Era vitoriana, Saudosismo</td>
        </tr>
    </tbody>
</table>

Células ocupando mais linhas e colunas

Nome: Wellington Pragidi
Telefone: (19) 98179-6690
(19) 3873-2113
E-mail: email@webship.com.br
wellington@webship.com.br
wellingtonpragidi@gmail.com
Experiências: HTML CSS Lógica JavaScript PHP MySQL NodeJS Java
<table class="inline tlg">
    <tbody>
        <tr>
            <th>Nome:</th>
            <td colspan="8">Wellington Pragidi</td>
        </tr>
        <tr>
            <th rowspan="2">Telefone:</th>
            <td colspan="8">(19) 98179-6690</td>
        </tr>
        <tr>
            <td colspan="8">(19) 3873-2113</td>
        </tr>
        <tr>
            <th rowspan="3">E-mail:</th>
            <td colspan="8">
                <a href="mailto:email@webship.com.br">email@webship.com.br</a>
            </td>
        </tr>
        <tr>
            <td colspan="8">
                <a href="mailto:wellington@webship.com.br">wellington@webship.com.br</a>
            </td>
        </tr>
        <tr>
            <td colspan="8">
                <a href="mailto:wellingtonpragidi@gmail.com">wellingtonpragidi@gmail.com</a>
            </td>
        </tr>
        <tr class="txt_center">
            <th class="txt_left">Experiências:</th>
            <td>HTML</td>
            <td>CSS</td>
            <td>Lógica</td>
            <td>JavaScript</td>
            <td>PHP</td>
            <td>MySQL</td>
            <td>NodeJS</td>
            <td>Java</td>
        </tr>
    </tbody>
</table>

Requer reset.css

:root {
    --table__color: #90959A;
    --table__border: 1px solid rgba(255, 255, 255, 0.15);
    --table__border-color: rgba(255, 255, 255, 0.15);

    --table__border-top: 1px solid rgba(255, 255, 255, 0.50);
    --table__border-bottom: 1px solid rgba(255, 255, 255, 0.10);

    --table__background: transparent;
    /* cor de fundo para: striped, chess e hover */
    --tableStripe__background: rgba(255, 255, 255, 0.05); /*rgba(0, 0, 0, 0.25)*/;
    --caption__background: rgba(0, 0, 0, 0.06);
}

/** restart */
table {
    position: relative;
    width: 100%;
    max-width: 100vw;
    border-collapse: collapse;
    color: var(--table__color);
    background-color: var(--table__background);
    overflow: hidden;
}
table, table tr, table td, table th {
    border: var(--table__border);
}
table th {
    padding: 0.44rem 0.56rem 0.56rem;
    font-weight: normal;
    font-size: 1.2rem;
    letter-spacing: 0.04rem;
}
table td {
    padding: 0.375rem 0.5rem 0.4rem;
    font-size: 1rem;
}
table caption {
    padding: 0.375rem 0.5rem 0.4rem;
    border: var(--table__border);
    border-bottom: none;
    background-color: var(--caption__background);
}

/** tabela com espacamento e fonte "menor" */
table.tsm th {
    padding: 4px 6px 6px 6px;
    font-size: 1rem;
    letter-spacing: 0.02rem;
}
table.tsm td {
    padding: 1px 5px 4px 5px;
    font-size: 0.9rem;
}
/** 
 * tabela com espacamento e fonte "maior" */
table.tlg th {
    padding: 8px 10px 10px 11px;
    font-size: 1.37rem;
}
table.tlg td {
    padding: 7px 7px 8px 9px;
    font-size: 1.16rem;
}

/** 
 * tabela sem nunhuma borda */
table.borderless, table.borderless tr, table.borderless th, table.borderless td {
    border: none;
    background-color: var(--table__background);
}

/** 
 * tabela apenas com borda nas extremidades */
table.outline {
    border: var(--table__border) !important;
}
table.outline tr, table.outline th, table.outline td {
    border: none;
}

/** 
 * tabela com cor de fundo listrada horizontalmente */
table.striped {
    background-color: var(--table__background);
}
table.striped tr:nth-child(even) {
    background-color: var(--tableStripe__background);
}
table.striped, table.striped tr, table.striped th, table.striped td {
    border: none;
}
/** 
 * tabela com cor de fundo das celulas quadriculadas */
table.chess tr:nth-child(even) td:nth-child(odd), 
table.chess tr:nth-child(odd) td:nth-child(even) {
    background-color: var(--tableStripe__background);
}
table.chess, table.chess tr, table.chess td, table.chess th {
    border: none;
}
table.chess tr:first-child {
    border-bottom: var(--table__border) !important;
}

/** 
 * tabela muda cor de fundo da linha "tr" na sobreposicao do cursor */
table.hover tr {
   transition: .3s;
   cursor: default;
}
table.hover tr:hover, table.hover tr:focus, table.hover tr:focus-within {
   background-color: var(--tableStripe__background);
   transition: .3s;
}

/** 
 * tabela com bordas horizontais */
table.horz tr {
    border-top: var(--table__border);
    border-bottom: var(--table__border);
    border-left: none;
    border-right: none;
}
/** 
 * tabela com bordas verticais */
table.vert th, table.vert td {
    border-left: var(--table__border);
    border-right: var(--table__border);
    border-top: none;
    border-bottom: none;
}
/** remove borda do elemento table dos estilos horizontal e vertical
  * remove borda das celulas dos elementos th e td horizontal
  * remove borda dos elementos tr vertical */
table.horz, table.vert, 
table.horz th, table.horz td, 
table.vert tr {
    border: none;
}

/** 
 * tabela com espacamento entre as celulas */
table.cellspace, table.cellspace th, table.cellspace td {
    border: none;
}
table.cellspace tr {
    border: 1px solid;
    border-color: var(--table__border-color);
    border-left: none;
    border-right: none;
}
table.cellspace tbody tr:nth-child(odd) {
    background-color: var(--tableStripe__background);
}
table.cellspace th, table.cellspace td {
    position: relative;
}
table.cellspace th::after, table.cellspace td::after {
    position: absolute;
    top: -1px;
    right: 0;
    display: block;
    content: '';
    width: 2px;
    height: calc(100% + 2px);
    background-color: var(--background); /* mesma cor de fundo do elemento parent de table */
}
table.cellspace th:last-child::after, table.cellspace td:last-child::after {
    position: static;
    content: none;
    display: none;
}

/** 
 * essa classe adiciona scroll horizontal automatico a tabela
 * (util para visualizacao em dispositivos moveis pequenos) */
.stacktable {
    display: block;
    overflow-x: auto;
}
.stacktable table th, .stacktable table td {
    white-space: nowrap;
}

/** 
 * alinhamentos geral 
 * (para mudar pode usar as classes de alinhamento de texto, eles estao no arquivo typography.css) */
table.inline td {
    text-align: right;
}
table.borderless th, table.cellspace th, table.inline th, table.outline th, 
table.horz th, table.frontier_horz th {
    text-align: left;
}


/** 
 * Nao mude os codigos de posicao, as classes de tabelas são reaproveitaveis sem usar !important 
 * Alterar a posicao fara com que os estilos nao funcionem */