S hrstkou stylů můžete toto atraktivní a flexibilní rozvržení použít pro mnoho typů obsahu stránky.
CSS vám poskytuje spoustu flexibility při navrhování atraktivních a citlivých rozvržení. Rozvržení ve stylu časopisu organizuje smíšený textový a obrázkový obsah v atraktivním a poutavém formátu, což z něj činí oblíbenou volbu.
CSS Grid vám poskytuje nástroje a jemné ovládání, které potřebujete k dosažení tohoto rozvržení, takže je to skvělá technika, kterou se můžete naučit.
Co jsou rozvržení ve stylu časopisu?
Rozvržení ve stylu časopisu používají strukturu podobnou mřížce k uspořádání obsahu do sloupců a řádků.
Jsou skvělé pro zobrazování různých typů obsahu, jako jsou články, obrázky a reklamy, organizovaným a přitažlivým způsobem.
Pochopení mřížky CSS
CSS Grid je robustní nástroj pro rozvržení, který vám to umožní umístit prvky do dvourozměrného prostoru, což usnadňuje vytvářet sloupce a řádky.
S tímto typem rozvržení vstupují do hry dvě primární komponenty: kontejner mřížky, zodpovědný za definování struktury mřížky, a položky mřížky, které jsou podřízenými prvky kontejneru.
Zde je jednoduchý příklad toho, jak můžete použít mřížku CSS k vytvoření mřížky 3x3:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.grid-item {
background-color: #f76a6a;
padding: 20px;
}
Tento kód definuje mřížkový kontejner se třemi sloupci stejné šířky a 20px mezerou mezi položkami. Zde je výsledek:
Nastavení struktury HTML
Pro rozvržení ve stylu časopisu budete potřebovat dobře strukturovaný dokument HTML. Zvážit pomocí sémantických prvků k uspořádání obsahu jako
<body>
<sectionclass="magazine-layout">
<article>
<imgsrc="https://source.unsplash.com/random/?city, night" />
<p>Some Article Titlep>
article><article>
<imgsrc="https://source.unsplash.com/random/?city, day" />
<p>Some Article Titlep>
article><article>
<imgsrc="https://source.unsplash.com/random/?animal" />
<p>Some Article Titlep>
article><article>
<imgsrc="https://source.unsplash.com/random/?book" />
<p>Some Article Titlep>
article>
<article>
<imgsrc="https://source.unsplash.com/random/?food" />
<p>Some Article Titlep>
article>
section>
body>
Definování kontejneru mřížky
Chcete-li vytvořit mřížku pro rozvržení ve stylu časopisu, přidejte následující kód CSS:
.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;
}
Tento CSS určuje, že prvek kontejneru, .rozvržení časopisu, je mřížkový kontejner využívající deklaraci displej: mřížka.
Vlastnosti grid-template-columns a grid-template-rows používají kombinaci opakovat, automatické přizpůsobení, a minmax. Ty zajišťují, že šířky sloupců a výšky řádků jsou alespoň 250 pixelůa do každého se vejde co nejvíce položek.
Umístění položek mřížky
Nyní upravte styl každého článku a jeho obsahu, abyste vytvořili atraktivní prvky ve stylu miniatur:
article {
overflow: hidden;
border-radius: 0.5rem;
position: relative;
color: #fff;
}.articleimg {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
max-height: 400px;
}
.articlep {
position: absolute;
bottom: 0;
left: 0;
padding: 2rem;
background: #333333c1;
font-size: 2rem;
border-radius: 0.5rem;
}
V tuto chvíli by vaše webová stránka měla vypadat nějak takto:
Vytváření rozvržení ve stylu časopisu
Chcete-li dosáhnout skutečného vzhledu ve stylu magazínu, přidejte styly CSS, které rozloží prvky článku v libovolném pořadí:
.article:nth-child(1) {
grid-column: 1 / span 3;
}
.article:nth-child(4) {
grid-column: 2 / span 2;
}
Vaše stránka by nyní měla vypadat takto:
Responzivní design s CSS mřížkou
Jednou z výhod CSS Grid je jeho vlastní schopnost reagovat. Můžeš k úpravě rozvržení použijte dotazy na média pro různé velikosti obrazovky. Například:
/* 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;
}
}
Tyto dotazy na média přepínají mezi více definicemi rozvržení tak, aby co nejlépe vyhovovaly velikosti obrazovky zařízení. Vaše konečné rozložení se přizpůsobí různým velikostem:
Transformace rozvržení pomocí mřížky CSS
CSS Grid je flexibilní nástroj, který můžete použít k vytvoření rozvržení ve stylu časopisu, které se přizpůsobí různým velikostem obrazovky. Umožňuje definovat struktury mřížky, umísťovat položky a upravovat rozvržení.
Experimentujte s různými konfiguracemi mřížky a styly, abyste dosáhli dokonalého rozvržení svého webu inspirovaného časopisy.