Com vários estilos, você pode usar esse layout atraente e flexível para muitos tipos de conteúdo de página.
CSS oferece muita flexibilidade para você criar layouts atraentes e responsivos. Um layout estilo revista organiza conteúdo misto de texto e imagem em um formato atraente e atraente, tornando-o uma escolha popular.
CSS Grid oferece as ferramentas e o controle refinado de que você precisa para obter esse layout, por isso é uma ótima técnica para aprender.
O que são layouts em estilo de revista?
Os layouts em estilo de revista usam uma estrutura semelhante a uma grade para organizar o conteúdo em colunas e linhas.
Eles são ótimos para exibir diferentes tipos de conteúdo, como artigos, imagens e anúncios, de forma organizada e atraente.
Compreendendo a grade CSS
CSS Grid é uma ferramenta de layout robusta que permite posicionar elementos no espaço bidimensional, facilitando criar colunas e linhas.
Com esse tipo de layout, dois componentes principais entram em ação: o contêiner de grade, responsável por definir a estrutura da grade, e os itens de grade, que são os elementos filhos do contêiner.
Aqui está um exemplo simples de como você pode usar CSS Grid para criar uma grade 3x3:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.grid-item {
background-color: #f76a6a;
padding: 20px;
}
Este código define um contêiner de grade com três colunas de largura igual e um intervalo de 20px entre os itens. Aqui está o resultado:
Configurando a estrutura HTML
Para um layout estilo revista, você precisará de um documento HTML bem estruturado. Considerar usando elementos semânticos para organizar seu conteúdo como
<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>
Definindo o contêiner de grade
Para criar uma grade para seu layout estilo revista, adicione o seguinte código 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;
}
Este CSS especifica que o elemento contêiner, .magazine-layout, é um contêiner de grade usando a declaração exibição: grade.
As propriedades grid-template-columns e grid-template-rows usam uma combinação de repita, ajuste automático, e mínimo máximo. Isso garante que as larguras das colunas e as alturas das linhas sejam pelo menos 250 pixels, e cabem tantos itens quanto possível em cada um.
Colocando itens de grade
Agora estilize cada artigo e seu conteúdo para criar elementos atraentes em estilo de miniatura:
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;
}
Neste ponto, sua página da web deve ser semelhante a esta:
Criação de layouts em estilo de revista
Para obter uma aparência verdadeira de revista, adicione estilos CSS para abranger os elementos do artigo na ordem que desejar:
.article:nth-child(1) {
grid-column: 1 / span 3;
}
.article:nth-child(4) {
grid-column: 2 / span 2;
}
Sua página agora deve ficar assim:
Design responsivo com grade CSS
Uma das vantagens do CSS Grid é sua capacidade de resposta inerente. Você pode use consultas de mídia para ajustar o layout para diferentes tamanhos de tela. Por exemplo:
/* 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;
}
}
Essas consultas de mídia alternam entre diversas definições de layout para melhor se adequar ao tamanho da tela do dispositivo. Seu layout final se adaptará a diferentes tamanhos:
Transformando seus layouts com grade CSS
CSS Grid é uma ferramenta flexível que você pode usar para criar layouts em estilo de revista que se ajustam a diferentes tamanhos de tela. Ele permite definir estruturas de grade, posicionar itens e ajustar layouts.
Experimente diferentes configurações e estilos de grade para obter o layout perfeito inspirado em revistas para o seu site.