Main#grid{display:grid;grid-template-columns:repeat( 5, auto);text-align:center;}#grid>*{bo"> Mischen Sie das automatische Rasterlayout mit festen Spalten und Spaltenpositionen-Fragen und Antworten zum chinesischen PHP-Netzwerk
Mischen Sie das automatische Rasterlayout mit festen Spalten und Spaltenpositionen
P粉492959599
P粉492959599 2023-09-15 16:01:55
0
1
362

Ich habe das folgende HTML mit CSS-Raster

Main
#grid { display: grid; grid-template-columns: repeat(5, auto); text-align: center; } #grid > * { border: 1px solid blue; padding: 20px; } #grid > .main-item { grid-row: 3; grid-column: 3 / 5; background: rgba(0, 0, 0, 0.2); }

Der wichtige Teil ist, dass.main-itemeine festePositionim Raster hat.

Ich füge jetzt 25Zellenzum Raster hinzu.

const grid = document.querySelector("#grid"); for (let i = 0; i < 25; i++) { const item = document.createElement("div"); item.innerText = i.toString(); grid.append(item); }

Das Problem ist, dass ich möchte, dass diese Elemente die Position von.main-item的位置(将其视为不存在)。不过,CSS 目前已对此进行了纠正,并使元素围绕.main-itemignorieren (es so behandeln, als ob es nicht existierte). Allerdings korrigiert CSS dies derzeit und sorgt dafür, dass das Element umherfließt

. Ich möchte das folgende sekundäre Verhalten:

style.gridRowstyle.gridColumnIch kann dies korrigieren, indem ich

in JavaScript einstelle

item.style.gridRow = (Math.floor(i / 5) + 1).toString(); item.style.gridColumn = ((i % 5) + 1).toString();

Gibt es eine Möglichkeit, dies zu tun, ohne alle anderen Elemente in JS einzurichten? Gibt es CSS, um zu verhindern, dass feste Elemente die Flusskorrektur beeinflussen?

Codestift-Link
P粉492959599
P粉492959599

Antworte allen (1)
P粉440453689

您可以给网格一个相对位置,并绝对定位特定网格项。

const grid = document.querySelector("#grid"); for (let i = 0; i < 25; i++) { const item = document.createElement("div"); item.innerText = i; grid.append(item); }
#grid { display: grid; grid-template-columns: repeat(5, auto); text-align: center; position: relative; } #grid > * { border: 1px solid blue; padding: 20px; } #grid > .main-item { position: absolute; left: 0; right: 0; grid-row: 3; grid-column: 3 / 5; background: rgba(0, 0, 0, 0.2); }
Main
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!