2017-09-04 99 views
0

如何使用display:grid因此它只針對.entry.post元素並排除存檔標題和分頁?從CSS網格中排除元素

archive-descriptionpagination跨越內容div的全寬)

.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

...但基本上... **你不能**這些元素的佈局將受到父級網格屬性的影響。您不能按課程選擇*排除網格。 –

+0

也許你可以澄清這是*假設*看起來像什麼。或者只是將該div完全從網格中取出 - https://jsfiddle.net/nkkmau2x/ –

+0

@Dev是否想讓'archive-description'和'pagination'跨越網格列? – kukkuz

回答

2

您可以跨度archive-descriptionpagination跨越的列該網格使用grid-column: span 3

見下面的演示 - 用於說明添加邊框(也取得了lidiv爲有效的標記):

.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感謝但無法在帶有側邊欄的模板上工作。 – Dev

+0

確定,但是'sidebar'沒有在問題中... – kukkuz

+0

是的,因爲t很難編碼。任何想法? – Dev