Category: [CSS] Dúvidas e Problemas


Formatação de tabela

Boa tarde a todos,

A minha dúvida de hoje prende-se com o seguinte:
Possuo uma simples tabela com três colunas, todas com nowrap em que as colunas laterais deverão ocupar o mínimo espaço possível de forma a poder acomodar o máximo de texto na coluna central.

Código: No tem permisso para visualizar links. Registar ou Login
    <style type="text/css">
        table {
            width: 960px;
            table-layout: fixed;
        }
   
        table td {
            white-space: nowrap;
        }
       
        .transborda {
            overflow: hidden;
            /*white-space: normal*/
            /*width: 100%*/
        }
    </style>

    <body>
        <table>
            <tr>
                <td>Coluna 1</td>
                <td class='transborda'>Esta é a coluna 2 que deve ser maior que as outras todas, deve ser mesmo grande tudo de forma a criar uma tabela maior do que o desejado, assim de modos que mesmo muito grande, mas tão grande que uma pessoa olha para ela e diz: - Xi que tabela grande.</td>
                <td>Esta é a terceira coluna</td>
            </tr>
        </table>
    </body>

O texto das colunas laterais é para ser todo apresentado, enquanto na coluna central mostra-se o texto possível. Quero que a tabela mantenha os 960px de largura, quero evitar o uso de JS, pelo que o ideal seria uma solução 100% CSS...

O que já tentei:
  • Se desactivar o nowrap da coluna central, a tabela fica com os 960px, mas com múltipas linhas
  • Se desactivar o table-layout: fixed, a tabela cresce quanto quer, ignorando a width definida.
  • Se colocar width: 100% na coluna central, ela cresce até aos 960px e sobrepõe o texto das laterais
Agradecia o vosso feedback.

Formatação de tabela

Boa tarde a todos,

A minha dúvida de hoje prende-se com o seguinte:
Possuo uma simples tabela com três colunas, todas com nowrap em que as colunas laterais deverão ocupar o mínimo espaço possível de forma a poder acomodar o máximo de texto na coluna central.

Código: No tem permisso para visualizar links. Registar ou Login
    <style type="text/css">
        table {
            width: 960px;
            table-layout: fixed;
        }
   
        table td {
            white-space: nowrap;
        }
       
        .transborda {
            overflow: hidden;
            /*white-space: normal*/
            /*width: 100%*/
        }
    </style>

    <body>
        <table>
            <tr>
                <td>Coluna 1</td>
                <td class='transborda'>Esta é a coluna 2 que deve ser maior que as outras todas, deve ser mesmo grande tudo de forma a criar uma tabela maior do que o desejado, assim de modos que mesmo muito grande, mas tão grande que uma pessoa olha para ela e diz: - Xi que tabela grande.</td>
                <td>Esta é a terceira coluna</td>
            </tr>
        </table>
    </body>

O texto das colunas laterais é para ser todo apresentado, enquanto na coluna central mostra-se o texto possível. Quero que a tabela mantenha os 960px de largura, quero evitar o uso de JS, pelo que o ideal seria uma solução 100% CSS...

O que já tentei:
  • Se desactivar o nowrap da coluna central, a tabela fica com os 960px, mas com múltipas linhas
  • Se desactivar o table-layout: fixed, a tabela cresce quanto quer, ignorando a width definida.
  • Se colocar width: 100% na coluna central, ela cresce até aos 960px e sobrepõe o texto das laterais
Agradecia o vosso feedback.

3 divs lado a lado

Boas pessoal.

É o seguinte. Tenho uma div geral para o site (wrapper), depois aqui dentro tenho uma para o conteúdo principal (middle_container). Dentro da middle container tenho 3 divs lado a lado. Uma para menu, outra para o corpo (conteudo do site) e outra para destaques. Até aqui tudo bem. O problema acontece com monitores com resolução mais baixa. A div que está à direita quebra, ou seja, vai para baixo das outras. O mesmo acontece se minimizar o browser.
Apresento o código:

Código: No tem permisso para visualizar links. Registar ou Login

#wrapper {
    text-align: center;
    width: 100%;
    margin:auto;
    z-index: 1;
    position: absolute;
    left: 0px;
    top:0px;
}

#middle_container {
    margin-top:0px;
}

#menu {
    width: 17%;
    float: left;
    padding-top: 1px;
    background-color: #eaf4fd;
    min-height: 450px;
    min-width: 210px;
}

#corpo {
    width: 62%;
    float: left;
    z-index: 90000000000;
    margin: 0px 0 0 0;
    height: 600px;
    padding-bottom: 60px;
    min-width: 300px;
}

#destaques {
    width: 21%;
    float: left;
    padding-top: 1px;
    background-color: #eaf4fd;
    min-height: 100%;
   
}

Espero que até agora me tenha feito entender.

Eu queria forçar a div de destaques (a que está mais à direita) a ficar sempre à direita independentemente da resolução do monitor de cada user.

Ideias?

3 divs lado a lado

Boas pessoal.

É o seguinte. Tenho uma div geral para o site (wrapper), depois aqui dentro tenho uma para o conteúdo principal (middle_container). Dentro da middle container tenho 3 divs lado a lado. Uma para menu, outra para o corpo (conteudo do site) e outra para destaques. Até aqui tudo bem. O problema acontece com monitores com resolução mais baixa. A div que está à direita quebra, ou seja, vai para baixo das outras. O mesmo acontece se minimizar o browser.
Apresento o código:

Código: No tem permisso para visualizar links. Registar ou Login

#wrapper {
    text-align: center;
    width: 100%;
    margin:auto;
    z-index: 1;
    position: absolute;
    left: 0px;
    top:0px;
}

#middle_container {
    margin-top:0px;
}

#menu {
    width: 17%;
    float: left;
    padding-top: 1px;
    background-color: #eaf4fd;
    min-height: 450px;
    min-width: 210px;
}

#corpo {
    width: 62%;
    float: left;
    z-index: 90000000000;
    margin: 0px 0 0 0;
    height: 600px;
    padding-bottom: 60px;
    min-width: 300px;
}

#destaques {
    width: 21%;
    float: left;
    padding-top: 1px;
    background-color: #eaf4fd;
    min-height: 100%;
   
}

Espero que até agora me tenha feito entender.

Eu queria forçar a div de destaques (a que está mais à direita) a ficar sempre à direita independentemente da resolução do monitor de cada user.

Ideias?