Posso usare un'altezza minima per table, tr o td?


120

Sto cercando di mostrare alcuni dettagli di una ricezione in una tabella.

Voglio che il tavolo abbia un'altezza minima per mostrare i prodotti. Quindi, se c'è un solo prodotto, la tabella avrebbe almeno uno spazio bianco alla fine. D'altra parte se ci sono 5 o più prodotti, non sarà quello spazio vuoto.

Ho provato con questo css:

table,td,tr{
  min-height:300px;
}

Ma non sta funzionando.

Grazie in anticipo.


1
Sarebbe utile se crei un violino per farci provare il tuo codice.
— mavrosxristoforos

Risposte:


39

Non è una bella soluzione ma provala in questo modo:

<table>
    <tr>
        <td>
            <div>Lorem</div>
        </td>
    </tr>
    <tr>
        <td>
            <div>Ipsum</div>
        </td>
    </tr>
</table>

e imposta i div sull'altezza minima:

div {
    min-height: 300px;
}

Spero che questo sia quello che vuoi ...


2
@SackySan devi dare le classi div e quindi applicare questa regola solo a quella classe
— Zachary Weixelbaum

408

height per td opere come min-height:

td {
  height: 100px;
}

invece di

td {
  min-height: 100px;
}

Le celle della tabella cresceranno quando il contenuto non si adatta.

https://jsfiddle.net/qz70zps4/


2
Nel mio Google Chrome (versione 47.0.2526.106 m) in esecuzione su Windows 7, ho scoperto che l'impostazione heightdi a in tdrealtà viene elaborata come una parte paddingsuperiore e una inferiore, il che può introdurre qualche problema di layout poiché pensi che sia davvero uno heightspazio. Non viene visualizzato come uno stile o come uno stile calcolato negli strumenti di sviluppo, ma quando si posiziona il mouse sull'elemento html ispezionato viene visualizzato sullo schermo.
— Felypp Oliveira

ma la domanda era sull'altezza minima che non funziona! cosa succede se hai un testo lungo e hai bisogno di un'altra riga con altezza, verrà incasinato
— CMS

come ha detto @CMS, ha chiesto di min-heightno heightperché @frank spiega di seguito che si comporta allo stesso modo per table td. Quindi forse questo ha bisogno di una spiegazione un po 'migliore.
— dft

3
Questa è sicuramente una risposta migliore di quella accettata.
— Jinjubei

2
Questa risposta mi ha appena risparmiato potenzialmente ore di lavoro, dovrebbe essere la risposta.
— Luke Pring il

28

La soluzione senza divviene utilizzato uno pseudo elemento come ::afternel primo tddi fila con min-height. Salva il tuo HTML pulito.

table tr td:first-child::after {
   content: "";
   display: inline-block;
   vertical-align: top;
   min-height: 60px;
}

13

In CSS 2.1, l'effetto di "min-height" e "max-height" su tabelle, tabelle inline, celle di tabelle, righe di tabelle e gruppi di righe non è definito.

Quindi prova a racchiudere il contenuto in un div e dai al div un min-height jsFiddle qui

<table cellspacing="0" cellpadding="0" border="0" style="width:300px">
    <tbody>
        <tr>
            <td>
                <div style="min-height: 100px; background-color: #ccc">
                Hello World !
                </div>
            </td>
            <td>
                <div style="min-height: 100px; background-color: #f00">
                Goog MOrning !
                </div>
            </td>
        </tr>
    </tbody>
</table>

5

se imposti style = "height: 100px;" su un td se il td ha un contenuto che fa crescere la cella più di quello, lo farà senza bisogno di altezza minima su un td.


0

Le tabelle e le celle della tabella non utilizzano la min-heightproprietà, impostando la loro heightaltezza minima poiché le tabelle si espandono se il contenuto le allunga.


-1

Usa semplicemente la voce css di min-height su una delle celle della riga della tabella. Funziona anche su vecchi browser.

.rowNumberColumn {
    background-color: #e6e6e6;
    min-height: 22;
}

<table width="100%" cellspacing="0" class="htmlgrid-table">
    <tr id="tr_0">
            <td width="3%" align="center" class="readOnlyCell rowNumberColumn">1</td>
            <td align="left" width="40%" id="td_0_0" class="readOnlyCell gContentSection">411978430-Intimate:Ruby:Small</td>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.