GARANTIR DESCONTO

Fórum Barra de rolagem vertical em tabela/div #565457

09/01/2013

0

E aí, galera... eu estou fazendo uma página onde listo alguns dados em tabela, só que são várias colunas, então eu queria poder colocar uma barra de rolagem vertical para o usuário poder visualizar as colunas que ficam fora da largura padrão. A área onde fica a tabela tem 640px, mas a tabela pode ficar maior por serem várias colunas. Alguém já fez algo assim? Grato.
Saulo Cardoso

Saulo Cardoso

Responder

Post mais votado

10/01/2013

coloque a table dentro de uma div <div style="overflow: auto; width: 640px"> table aqui </div>

Marlon Oliveira

Marlon Oliveira
Responder

Gostei + 2

Mais Posts

10/01/2013

Saulo Cardoso

Opa, obrigado pela resposta. No caso então eu posso colocar qualquer largura para a tabela? Esse overflow "auto", como funciona exatamente? É bom perguntar para da próxima vez eu já saber como usar. Grato.
Responder

Gostei + 0

10/01/2013

Marlon Oliveira

sim... a tabela pode ter qualquer tamanho. e a propriedade overflow auto, significa dizer que se por acaso o conteudo da div ultrapassar a largura de 640px, ela vai gerar uma barra de rolagem. isso vale também para a altura.
Responder

Gostei + 0

11/01/2013

Saulo Cardoso

Poxa, cara, valeu mesmo. Usei sua dica e deu certo. Veja só meu código de testes:
    <div style="overflow: auto; width: 640px; height: 200px; border:solid 1px"> 
        <table class="tabela" style="width:800px">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Nome do Cliente</th>
                    <th>Email</th>
                    <th>Telefone(s)</th>
                    <th>Endereço</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>1</td>
                    <td>Marcio Castro</td>
                    <td>marciocastro@email.com</td>
                    <td>(21) 1234-56789</td>
                    <td>Endereço do cliente 1</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>João da Silva</td>
                    <td>joao@mail.com</td>
                    <td>(83) 9876-5432</td>
                    <td>Endereço do cliente 2</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>Pedro Pereira</td>
                    <td>pedro@seuemail.com</td>
                    <td>(85) 3221-3221</td>
                    <td>Endereço do cliente 3</td>
                </tr>
                <tr>
                    <td>1</td>
                    <td>Marcio Castro</td>
                    <td>marciocastro@email.com</td>
                    <td>(21) 1234-56789</td>
                    <td>Endereço do cliente 1</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>João da Silva</td>
                    <td>joao@mail.com</td>
                    <td>(83) 9876-5432</td>
                    <td>Endereço do cliente 2</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>Pedro Pereira</td>
                    <td>pedro@seuemail.com</td>
                    <td>(85) 3221-3221</td>
                    <td>Endereço do cliente 3</td>
                </tr>
                <tr>
                    <td>1</td>
                    <td>Marcio Castro</td>
                    <td>marciocastro@email.com</td>
                    <td>(21) 1234-56789</td>
                    <td>Endereço do cliente 1</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>João da Silva</td>
                    <td>joao@mail.com</td>
                    <td>(83) 9876-5432</td>
                    <td>Endereço do cliente 2</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>Pedro Pereira</td>
                    <td>pedro@seuemail.com</td>
                    <td>(85) 3221-3221</td>
                    <td>Endereço do cliente 3</td>
                </tr>                
            </tbody>
        </table>
    </div>
Agora me surgiu uma curiosidade. E se eu precisasse do scroll só vertical pra deixar o cabeçalho da tabela fixo, daria pra fazer? Tipo rolar só as linhas da tabela e deixar os títulos da coluna. Se não der, tudo bem, já me ajudou bastante mesmo. Obrigado.
Responder

Gostei + 0

15/01/2013

Joel Rodrigues

Opa, Marcio. Beleza? Nesse caso você teria que colocar o cabeçalho fixo usando outros elementos como div e span e definir suas larguras de acordo com as larguras das colunas. Então você colocaria a tabela sem o thead como você já fez. Boa sorte.
Responder

Gostei + 0

15/01/2013

Joel Rodrigues

Ah, suspeitei. Obrigado então. Podem fechar o tópico, por favor.
Responder

Gostei + 0

15/01/2013

Joel Rodrigues

[quote="marlonmeneses"]coloque a table dentro de uma div <div style="overflow: auto; width: 640px"> table aqui </div>
Você ainda pode especificar qual barra de rolagem deseja, a da direita ou a a de baixo, com overflow-x e overflow-y
Responder

Gostei + 1

17/01/2013

Joel Rodrigues

Opa, mais uma informação muito útil. Obrigado, dicarte.
Responder

Gostei + 0

17/01/2013

Joel Rodrigues

[quote="marciocastro"]Opa, mais uma informação muito útil. Obrigado, dicarte.
de nada .... :mrgreen:
Responder

Gostei + 0

25/01/2013

Eduardo Pereira

Deus abençõe o overflow :)
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar