簡體   English   中英

CSS 顯示網格中的響應式全寬 div 插入

[英]Responsive full width div insert in CSS Display Grid

.grid-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-auto-rows: auto;
  }
  .grid-content > div > div > div {
    background: black;
    display: grid;
  }
  
  .grid-content > div > div > div::before {
    content: "";
    display: block;
    padding-bottom: 100%;
    grid-area: 1 / 1 / 2 / 2;
  }

網格具有 div 類grid-content並且其中的項目具有 div 類clickable_item

單擊網格上的任何項目都會將此 div 塊移動到所選項目的下方。 這個 div 占據了行的全部寬度,需要調整它的grid-column: 1 / span n屬性以保持對網格中行列數的響應。

目前grid-column 1 / span 8屬性是固定的,不會動態調整以改變環繞網格中的列。

項目應該有一個唯一的 id,並且還必須在單擊時在其行下方顯示或隱藏全寬 div

https://codepen.io/ridhwaans/pen/jOrpeNW

更新:使用

gridComputedStyle.getPropertyValue("grid-template-columns").replace(' 0px', '').split(' ').length;

從調整大小偵聽器更新樣式屬性。
在 codepen 演示中包裝期間,全寬 div 會與其他項目混淆。 如何每次移動 div 以跨越網格中的列?

我相信這就是你想要的:

https://codepen.io/riza-khan/pen/VwjBqVd

基本上,使用函數insertAdjacetElement它將允許您在您選擇的位置插入一個元素。

還要注意,在這種情況下,您需要遍歷 DOM,因此:

e.target.parentElement.parentElement.insertAdjacentElement('afterend', some_node)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM