2017-09-04 1 views
0

Comment utiliser display:grid pour cibler uniquement les éléments .entry ou .post et exclure le titre et la pagination de l'archive?Exclusion d'éléments de la grille CSS

(archive-description et la pagination pour couvrir la largeur de la div contenu)

.content { 
 
    display: grid; 
 
    grid-template-columns: 1fr 1fr 1fr; 
 
    grid-gap: 20px; 
 
}
<main class="content"> 
 

 
    <div class="archive-description">Archive Title</div> 
 

 
    <article class="post entry">This is a post</article> 
 

 
    <article class="post entry">This is a post</article> 
 

 
    <article class="post entry">This is a post</article> 
 

 
    <li class="pagination">Previous & Next Entry</li> 
 

 
</main>

https://jsfiddle.net/haymanpl/rb0hqb7g/2/

+0

... mais au fond ... ** vous ne pouvez pas ** La disposition de ces éléments sera affectée par les propriétés de grille sur le parent. Vous ne pouvez pas choisir * une * Grille par classe. –

+0

Peut-être que vous pouvez clarifier ce que c'est * supposé * ressembler. Ou tout simplement prendre cette div hors de la grille entièrement - https://jsfiddle.net/nkkmau2x/ –

+0

@Dev voulez-vous avoir les 'archive-description' et la' pagination' pour couvrir les colonnes de la grille? – kukkuz

Répondre

2

Vous pouvez durée le archive-description et pagination à travers les colonnes la grille en utilisant grid-column: span 3.

Voir la démo ci-dessous - frontières ajoutée pour illustration (également fait le li-div pour le balisage valide):

.content { 
 
    display: grid; 
 
    grid-template-columns: 1fr 1fr 1fr; 
 
    grid-gap: 20px; 
 
    position: relative; 
 
    border: 1px solid green; 
 
} 
 
.archive-description, .pagination { 
 
    grid-column: span 3; 
 
    text-align: center; 
 
} 
 
main > * { 
 
    border: 1px solid; 
 
}
<main class="content"> 
 
    <div class="archive-description">Archive Title</div> 
 
    <article class="post entry">This is a post</article> 
 
    <article class="post entry">This is a post</article> 
 
    <article class="post entry">This is a post</article> 
 
    <div class="pagination">Previous & Next Entry</div> 
 
</main>

+0

kukkuz Merci, mais ne fonctionne pas sur les modèles avec sidebar. – Dev

+0

ok, mais «sidebar» n'était pas là dans la question ... – kukkuz

+0

oui, parce que t était difficile à coder. Une idée? – Dev