Använda CSS Grid för layouter i tidskriftsstil

Använda CSS Grid för layouter i tidskriftsstil
Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

CSS ger dig mycket flexibilitet för att designa tilltalande, lyhörda layouter. En layout i tidningsstil organiserar blandat text- och bildinnehåll i ett attraktivt, iögonfallande format, vilket gör det till ett populärt val.





Dagens video från MUO SCROLL FÖR ATT FORTSÄTTA MED INNEHÅLL

CSS Grid ger dig verktygen och finkornig kontroll du behöver för att uppnå denna layout, så det är en fantastisk teknik att lära sig.





Vad är layouter i tidskriftsstil?

Tidskriftslayouter använder en rutnätsliknande struktur för att ordna innehåll i kolumner och rader.





De är utmärkta för att visa olika typer av innehåll som artiklar, bilder och annonser på ett organiserat och tilltalande sätt.

Förstå CSS Grid

CSS Grid är ett robust layoutverktyg som låter dig placera element i tvådimensionellt utrymme , vilket gör det enkelt att skapa kolumner och rader .



Med den här typen av layout spelar två primära komponenter in: rutnätsbehållaren, ansvarig för att definiera rutnätets struktur, och rutnätsobjekten, som är behållarens underordnade element.

Här är ett enkelt exempel på hur du kan använda CSS Grid för att skapa ett 3x3-rutnät:





hur man sätter en video som bakgrund
 .grid-container { 
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.grid-item {
    background-color: #f76a6a;
    padding: 20px;
}

Den här koden definierar en rutnätsbehållare med tre kolumner med samma bredd och ett 20px gap mellan objekt. Här är resultatet:

  Testar css-rutnät med ett enkelt exempel

Konfigurera HTML-strukturen

För en layout i tidningsstil behöver du ett välstrukturerat HTML-dokument. Överväga använda semantiska element för att organisera ditt innehåll som och . Här är en bra utgångspunkt:





 <body> 
    <section class="magazine-layout">
        <article>
            <img src="https://source.unsplash.com/random/?city,night" />
            <p>Some Article Title</p>
        </article>

        <article>
            <img src="https://source.unsplash.com/random/?city,day" />
            <p>Some Article Title</p>
        </article>

        <article>
            <img src="https://source.unsplash.com/random/?animal" />
            <p>Some Article Title</p>
        </article>

        <article>
            <img src="https://source.unsplash.com/random/?book" />
            <p>Some Article Title</p>
        </article>

        <article>
            <img src="https://source.unsplash.com/random/?food" />
            <p>Some Article Title</p>
        </article>
    </section>
</body>

Definiera rutnätsbehållaren

Lägg till följande CSS-kod för att skapa ett rutnät för din layout i tidningsstil:

 .magazine-layout { 
    height: 100%;
    max-width: 130rem;
    margin: 0 auto;

    /* Defines the grid container */
    display: grid;

    /* Defines the column specification */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

    /* Defines the row specification */
    grid-template-rows: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    padding: 2rem;
}

Denna CSS anger att containerelementet, .tidningslayout , är en rutnätsbehållare som använder deklarationen display: rutnät .

Egenskaperna grid-template-columns och grid-template-rows använder en kombination av upprepa , automatisk passning , och min Max . Dessa säkerställer att kolumnbredder och radhöjder är minst 250 pixlar , och så många föremål som möjligt får plats i varje.

Placera rutnätsobjekt

Stil nu varje artikel och dess innehåll för att skapa attraktiva miniatyrbilder:

 article { 
    overflow: hidden;
    border-radius: 0.5rem;
    position: relative;
    color: #fff;
}

.article img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-height: 400px;
}

.article p {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 2rem;
    background: #333333c1;
    font-size: 2rem;
    border-radius: 0.5rem;
}

Vid det här laget bör din webbsida se ut ungefär så här:

  Magasinlayout innan spännande rutnätselement

Skapa layouter i tidskriftsstil

För att få ett äkta utseende i tidningsstil, lägg till CSS-stilar som spänner över artikelelementen i vilken ordning du vill:

 .article:nth-child(1) { 
    grid-column: 1 / span 3;
}

.article:nth-child(4) {
    grid-column: 2 / span 2;
}

Din sida bör nu se ut så här:

inget ljud i webbläsaren Windows 10
  Magasinlayout efter spännande rutnätselement

Responsiv design med CSS Grid

En av fördelarna med CSS Grid är dess inneboende lyhördhet. Du kan använd mediafrågor för att justera layouten för olika skärmstorlekar. Till exempel:

 /* Media query for screens up to 1100px */ 
@media screen and (max-width: 1100px) {
    .article:nth-child(3) {
        grid-column: 2 / span 2;
    }

    .article:nth-child(5) {
        grid-row: 3 / span 1;
    }
}

/* Media query for screens up to 600px */
@media screen and (max-width: 600px) {
    .article:nth-child(2),
    .article:nth-child(3),
    .article:nth-child(4),
    .article:nth-child(5) {
        grid-column: 1 / span 3;
    }
}

Dessa mediefrågor växlar mellan flera layoutdefinitioner för att bäst passa enhetens skärmstorlek. Din slutliga layout kommer att anpassas till olika storlekar:

Förvandla dina layouter med CSS Grid

CSS Grid är ett flexibelt verktyg som du kan använda för att skapa layouter i tidningsstil som anpassar sig till olika skärmstorlekar. Det låter dig definiera rutnätsstrukturer, placera objekt och justera layouter.

Experimentera med olika rutnätskonfigurationer och stilar för att uppnå den perfekta tidningsinspirerade layouten för din webbplats.