Oracle Content Management fornisce un CSS di esempio di una tabella rispondente all'interno di un componente paragrafo che consente di disporre in pila i dati di riga visualizzati sui dispositivi portatili.
Una tabella rispondente viene adeguata per visualizzare il contenuto in modo efficace in base alle dimensioni dello schermo. Ad esempio, una tabella con 5 colonne potrebbe essere visualizzata correttamente in senso orizzontale su una pagina Web, mentre la migliore modalità di presentazione dei dati su un telefono potrebbe essere la disposizione in pila. Tenere presente che le tabelle rispondenti richiedono una riga di intestazione per funzionare correttamente.
Nel codice HTML generato riportato di seguito è possibile osservare l'aggiunta di un attributo data-label a ogni cella della tabella con valori corrispondenti al testo delle intestazioni delle colonne.
<thead> <tr> <th scope="col">ACCOUNT</th> <th scope="col">DUE DATE</th> <th scope="col">AMOUNT</th> <th scope="col">MINIMUM</th> <th scope="col">PERIOD</th> </tr> </thead> <tbody> <tr> <td data-label="ACCOUNT">Visa</td> <td data-label="DUE DATE">04/16/2020</td> <td data-label="AMOUNT">$3,090</td> <td data-label="PERIOD">03/09/2020 - 04/08/2020</td> </tr>
Quando tale attributo si trova in ogni cella, i TD si sovrappongono quando si applicano le regole CSS riportate di seguito.
.scs-paragraph:not(.scs-paragraph-edit) table td { border-bottom: 1px solid #ddd; display: block; text-align: right; } .scs-paragraph:not(.scs-paragraph-edit) table td::before { content: attr(data-label); float: left; font-weight: bold; }
La regola relativa ai supporti, riportata di seguito, esegue una query per ottenere le dimensioni dello schermo e diventerà effettiva solo quando le dimensioni dello schermo saranno inferiori a 767 pixel:
@media screen and (max-width: 767px) {
L'esempio di codice relativo all'uso di CSS per rendere rispondenti le tabelle inserite si trova nel file design.css predefinito dello StarterTheme fornito. Se si crea un sito dallo StarterTheme, le tabelle inserite in uno slot di paragrafo saranno rispondenti per impostazione predefinita. Per inserire una tabella, effettuare le operazioni riportate di seguito.
Al termine, riattivare la modalità Visualizzazione e selezionare un'opzione di visualizzazione con una larghezza di schermo inferiore a 767 pixel per visualizzare i risultati in anteprima. È necessario attivare la modalità di visualizzazione, poiché una tabella non ha un funzionamento rispondente in modalità di modifica.
Se si desidera utilizzare le tabelle rispondenti durante la creazione di un sito da un tema diverso, sarà necessario copiare il codice dal file design.css StarterTheme nel file design.css del tema in uso.
/** * An example CSS of how to render a table responsively. * It enables stacking of row data on mobile devices. * Only do this for view mode (not for edit mode). * * On each cell rendered, it adds a user-defined attribute * 'data-label' with value matching the column header text. */ @media screen and (max-width: 767px) { .scs-paragraph:not(.scs-paragraph-edit) table { border: 0; } .scs-paragraph:not(.scs-paragraph-edit) table caption { font-size: 1.3em; } .scs-paragraph:not(.scs-paragraph-edit) table thead { border: none; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .scs-paragraph:not(.scs-paragraph-edit) table tr { border-bottom: 3px solid #ddd; display: block; margin-bottom: .625em; } .scs-paragraph:not(.scs-paragraph-edit) table td { border-bottom: 1px solid #ddd; display: block; text-align: right; } .scs-paragraph:not(.scs-paragraph-edit) table td::before { content: attr(data-label); float: left; font-weight: bold; } .scs-paragraph:not(.scs-paragraph-edit) table td:last-child { border-bottom: 0; } }