Aprenda desenvolvimento web responsivo | Zoë Davidson | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Aprenda desenvolvimento web responsivo

teacher avatar Zoë Davidson, Software Engineer & Cinematographer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução

      0:09

    • 2.

      Projeto de curso

      0:38

    • 3.

      Tutorial

      28:30

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

19

Estudantes

1

Projeto

Sobre este curso

Descrição do curso

Descubra os fundamentos do web design moderno e responsivo com um tutorial prático centrado na criação de um componente de grade de preço único — uma interface de cartão de preço elegante que se adapta com graça das visualizações de desktop para dispositivos móveis. Quer você esteja iniciando no desenvolvimento de front-end ou procurando refinar suas habilidades, este curso baseado em projetos vai dar a você um caminho claro para dominar layouts responsivos e estilização de componentes refinados.

O que você aprenderá

  • Primeiro dispositivos móveis e layouts responsivos
    Aprenda primeiro a estruturar seu design para telas móveis e, em seguida, aprimore o layout para dispositivos maiores usando consultas de mídia e técnicas de CSS, garantindo que seu componente tenha um visual ótimo em qualquer tela.

  • Estrutura HTML e marcação semântica
    Crie a base com HTML limpo e semântico — organizando o conteúdo para acessibilidade, reutilização e clareza.

  • Técnicas de layout CSS: Flexbox e grid
    Explore como posicionar os elementos lado a lado usando Flexbox ou CSS Grid, alcançando um alinhamento preciso (por exemplo, centralização de preço e texto “por mês” como no desafio)

Para quem é este curso

  • Pessoas que são desenvolvedores iniciantes que estão buscando um projeto gerenciável e prático para fortalecer os fundamentos de front-end.

  • Construtores intermediários que desejam refinar fluxos de trabalho de design responsivo e estilo de componentes.

  • Pessoas que criam portfólios em busca de componentes de UI prontos e prontos para exibir.

Por que você vai gostar deste curso

  • Ritmo fácil para quem está aprendendo: um projeto focado com passos claramente definidos, ideal para aumentar a confiança.

  • Desafio orientado pelo design: a correspondência de recursos visuais leva você a aprimorar sua atenção aos detalhes.

  • Fluxo de trabalho do mundo real: incorpora habilidades relevantes do setor: design focado em dispositivos móveis, implantação e estruturação de código.

  • Suporte à comunidade: se você estiver com bloqueio, mergulhe nos recursos e canais da comunidade como com o Frontend Mentor

Conheça seu professor

Teacher Profile Image

Zoë Davidson

Software Engineer & Cinematographer

Professor

Hey! I'm Zoe, a software engineer, filmmaker, and former professor from Toronto, Canada. I have an MFA in Film from Howard University, and also do work as a software engineer.

In the past, I've worked for the University of the District of Columbia, the Academy of Motion Picture Arts and Sciences, Lionsgate, Huffington Post, and I'm a member of organizations like the Canadian Society of Cinematographers.

The films that I've worked on have been featured at festivals around the world, including Sundance, ABFF, Trinidad Tobago Film Festival, and CaribbeanTales.

Check out my latest work, here: zoeahdavidson.com

Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Bem-vindo de volta hoje. Vamos construir esse componente de grade de design responsivo Se você é novo aqui, oi, meu nome é Zoe. Sou engenheiro de software e ex-professor universitário que adora ensinar às pessoas como 2. Projeto de curso: Tudo bem, então sim, como você pode ver, é um componente bem simples que vamos construir aqui, mas vamos fazer isso de forma responsiva Portanto, ele tem a versão para desktop e a versão móvel, e vamos usar o CSS grade, se pudermos. Então, dando uma olhada em nosso componente aqui, na verdade não precisamos usar a grade. Também poderíamos usar o flex. Então, vamos ver no que acontece. Na verdade, pode ser mais fácil para nós usar o Flexbox. Mas vemos como temos nosso tipo individual dessa primeira seção na parte superior aqui, e depois temos nossas duas seções menores na parte inferior. E então, no design móvel, ele simplesmente cai em uma coluna Então, muito direto, muito simples, mas um pouco diferente porque a seção inferior muda em termos de onde está colocada Então, vamos continuar e construir isso. 3. Tutorial: Então, eu já criei o aplicativo inicial. Novamente, isso não é nada. Eu fiz isso há meses, em termos de configuração. Você pode simplesmente usar este kit inicial. É o material que a próxima combinação de texto datilografado já configurou E você pode simplesmente cloná-lo e usá-lo como seu iniciador Você pode usar isso e não precisa necessariamente usar o elemento Typescript Você pode usar JavaScript se preferir. Então, depende totalmente de você se quiser usar isso, mas está vinculado na descrição abaixo. E também, se você quiser acompanhar, tipo, sempre, vou vincular o design. Este é um dos designs gratuitos do front-end mentor. Também vou colocar um link na descrição abaixo. Portanto, temos nosso aplicativo básico desenvolvido aqui. Vou simplesmente excluir todos os tipos de estilos de redefinição existentes e excluí-los de lá E então eu vou realmente inserir a cor de fundo desse design aqui, se eu conseguir pegá-la. Desktop. Vamos ver com qual cor estamos lidando aqui. Acho que é esse tipo de cor azul claro. Então, eu vou dizer que para o corpo e o HTML, a cor de fundo será essa e, sim, isso parece certo. Então, temos nosso conjunto de cores de fundo. Vamos continuar e criar esta página. Então, na página, vamos ter três cartas, uma carta com, tipo, três seções, devo dizer. Então, acho que para essa seção maior, como devemos fazer isso? Vamos fazer três caixinhas. Então, vou criar uma pasta de componentes de componentes. E diremos que o novo arquivo será, hum, cabeçalho do cartão. Eu vou ligar para ele. Novo arquivo. Cabeçalho do cartão. Opa. Cabeçalho TSX E, novamente, você pode usar o JSX se preferir. E então eu vou criar um novo arquivo chamado card container dot TSX E isso só vai conter todas as nossas cartas. Então, usaremos o box para poder estilizar usando XX prop for material UI e, em seguida, vou importar o contêiner do cartão para nossa página inicial Então, contêiner de cartão. Guarde isso aí. Incrível. E então, o recipiente do cartão agora pegará nosso cabeçalho do cartão e, em seguida, também os outros dois componentes menores do cartão . Cabeçalho. Incrível. Legal. Até agora tudo bem. Então, vamos trabalhar no cabeçalho do cartão agora. Então, novamente, vou transformar isso em uma caixa. Hum, guarde isso. E legal. Estamos vendo isso na página. Hum, vamos centralizar o recipiente do cartão na página. Então, sim, no contêiner do cartão vou configurar a exibição da página para flexionar E vamos dizer flex say justify content, sorry, center e line items Center Guarde isso. E acho que preciso definir uma altura. Hum, uma altura para isso é 98 de altura de vista. Acho que provavelmente deveria acabar fazendo isso em CSS, mas vamos cruzar essa ponte um pouco mais tarde. Tudo bem. Então, a próxima coisa que queremos fazer aqui é, sim, construir, construir essas pequenas peças aqui. Então, no cabeçalho do cartão, parece que nos juntamos à nossa comunidade. Então, precisamos de algum tipo de tipografia. Provavelmente precisamos de três elementos tipográficos diferentes, então vamos incluí-los. Vamos dizer tipografia Hum. Legal. E esse será o nosso primeiro. Participe da nossa comunidade. Incrível. Segundo, garantia de devolução do dinheiro sem complicações E então a descrição do que eles estão realmente tentando nos vender. Hum, legal. Então, isso é bem simples. Agora vamos fazer um pouco de silêncio. Parece que há cerca de 40 pixels de M ou preenchimento, devo dizer, preenchimento ao redor dos elementos Vamos dizer 40 pixels, 2,5 Ram. E o que mais precisamos aqui? Acho que talvez devêssemos fazer nosso tamanho de fonte e coisas assim. Então, isso vai ter 24 pixels. Tamanho da fonte. Vai ter um aro 1,5. Um, esse aqui vai fazer 18 anos. E então este aqui vai ser normal, então vamos deixar isso de lado. E então definiremos nossa cor. Então, essa vai ser dessa cor aqui. Apaixonado. Ou apenas cor. Um bom. Uh, isso vai ser , tipo, verde neon. Vamos fazer isso lá. E então essa vai ser um tipo de coisa azulada. Nós diremos. Mas. Legal. Vamos guardar isso aí. Incrível. Até aí tudo bem, temos nossa caixinha lá. A outra coisa que precisamos fazer é definir a cor de fundo. Então, definiremos a cor de fundo da caixa como branca. Guarde isso. E isso parece muito bom. Até agora, tudo bem. A outra coisa que eu quero fazer é definir a largura máxima para esta caixa aqui. Então, parece que a largura é 635. Isso vai ser para este contêiner de cartão. Eu vou dizer que a largura máxima será 635. Opa, pixels. E a altura máxima. Porque deveria ser apenas um componente. Não é como uma página inteira. Vai ser 475. Vamos colocar isso lá. Incrível. Legal. Até agora, tudo bem. Ah, outra coisa. Na verdade, outra coisa que vamos querer fazer é definir o raio do canto Parece que tem cerca de oito pixels. Então, vamos dizer que o raio da borda será de 0,5 ram. E isso apenas curvará todas as bordas. Oh, não, não funcionou. Ok, então, na verdade, temos que colocá-lo no cartão. Tudo bem, então vamos configurá-lo. Em vez disso, colocaremos na carta as peças da carta. Então, vamos definir o raio da fronteira. E deve ser o mesmo de quando você está fazendo no canto superior direito, no canto inferior esquerdo. Então vai ser no topo, hum, o que é no canto superior esquerdo? Digamos, 0,5 Ram, 0,5 Ram e zero e zero, e então podemos modificá-lo se isso não estiver correto. Não. Ok, sim, está correto. Então veja como ele simplesmente curva a parte superior esquerda e direita. Então, isso é só para nos dar uma pequena moldura. Então, vamos deixar isso como está. E eu acho que talvez possamos adicionar um pouco de peso de fonte, apenas um pouco de peso a esta aqui, não muito, talvez 600 de espessura de fonte. E sim, talvez para este também. Nós faremos o mesmo. Vamos guardar isso. Sim, isso parece muito bom. Hum, faça um pouco de espaçamento, talvez 24 pixels. Tudo bem, então digamos que, hum, Margin. Margem. O topo é 1,5. Opa. 1,5 Rm. Hum, certo. E então, como foi 0,75 m e depois zero. Sim, e só nos dá um pouco de margem por aí. E eu acho que isso é muito bom por enquanto. Vamos continuar com isso e vamos construir as próximas duas caixinhas aqui. Então, a primeira caixa aí. O próximo será nosso CTA, vou chamá-lo de nosso CTA call to action Então, o que quer que acabemos fazendo se acabarmos mudando o produto, sempre podemos reutilizar esse componente Então, vamos dizer caixa. Uma caixa. Legal. Até agora tudo bem. E então vamos importá-lo para um cartão, nosso contêiner de cartões. Agora, é aqui que fica interessante. Então foi aqui que eu pensei, poderíamos usar o Griter. Podemos usar o Flex O que acho que fazemos aqui é usar uma caixa e, dentro dessa caixa, temos nossos próximos dois componentes. Então, teremos o CTA e qualquer outro componente YS, você sabe, E então vamos inverter posição deles com base na orientação Usaremos a consulta de mídia para fazer isso. Então, vamos tentar isso, ver se funciona. Então, com nosso CTA, agora vemos que o temos aqui. Vamos seguir em frente e fazer a mesma coisa. Então, vamos adicionar alguns estilos semelhantes. E, honestamente, poderíamos usar, tipo, um carro, tipo, uma força componente e todas essas coisas, mas não é como se pudéssemos criar um cartão preenchimento automático de 2,5 e, em seguida, usar uma cor de fundo como propriedade e usar o raio da borda como uma propriedade raio da borda como Acho que estamos construindo algo maior, definitivamente seria útil fazer isso, especialmente porque mantemos nossa linguagem de design. Mas acho que, como é apenas um componente singular , no momento, podemos simplesmente copiar alguns dos estilos. Então, vamos adicionar um pouco de preenchimento lá. Definiremos a cor de fundo como sendo. Vamos ver o que é. Uh, retângulo Esse retângulo. Mmm mm. Ok, vamos ver. Acho que é dessa cor. Se não for, podemos mudar isso. Então, vamos começar com essa cor. Legal. E então precisamos da mesma coisa, essencialmente, três CTAs diferentes ou três elementos tipográficos diferentes, desculpe Então, vamos começar com a tipografia. E a primeira será uma assinatura mensal. Guarde isso, Cool. Novamente, se eles fossem mais semelhantes em termos do estilo real, faria todo o sentido separá-los em um componente reutilizável Então temos isso, e vou colocar um intervalo aqui por mês, só porque é um pouco diferente em termos de estilo, mas queremos que esteja na mesma linha. E então é mais uma escolha de design do que uma separação de informações E então temos isso e, em seguida, teremos um botão embaixo de tudo isso Opa. Vou guardar isso. Tudo bem, legal. Então, sim, basicamente essa seção do CTA A próxima coisa que queremos fazer é definir a largura máxima. Então, o que é? A altura será 259. A largura máxima será de 318, então diremos que a largura máxima será de 318 pixels Dessa forma, ele não ocupa muito espaço. Hum, legal. Eu acho que isso está correto. Acho que quando adicionarmos o outro, ele meio que ocupará aquele outro espaço. Então, vamos prosseguir agora e queremos definir a cor. Então, vamos dizer, cores para isso. A cor é branca. E vamos pegar isso emprestado para o próximo, também, acho que eles são todos brancos Sim, são todos brancos. Exceto por aquele pequeno giro. Não tenho certeza. Vamos dar uma olhada e ver de que cor é essa. Ok, ainda está branco. Só que a opacidade é menor Então, vamos estilizar isso. Nós diremos, hum, o que é isso? Uh, a cor é RGBA. Opa. Eu coloquei entre aspas. Uh oh, está faltando. Lá vamos nós. Hum, e eu acho que é 100, 100, 100. Em seguida, 0,5. Sim, isso é basicamente, sim. Então eu quero isso, na verdade, desculpe, 255, 255. Sim. OK. Isso é o que eu quero. Eu quero que seja branco, mas um pouco transparente. Isso parece correto. E então vamos definir o tamanho agora Então, serão 18 gritos. Vamos dizer que o tamanho da fonte é 18 pixels. Isso vai ter 32 pixels. E também o peso da fonte, provavelmente também podemos dizer, peso da fonte de 600. Vamos dizer que o tamanho da fonte é dois REM e a espessura da fonte, provavelmente 800. E então, mas a cada mês é diferente. Não queremos que por mês tenha nada disso. Então, vamos dizer que o peso da fonte será 400 e o tamanho da fonte será, uh, 16, então uma RAM. Legal. E acho que provavelmente também precisamos fazer algum tipo de exibição flexível, hum, alinhar itens no centro Sim, dessa forma, há um pouco de espaço lá. OK. Interessante E então nós também faremos a margem esquerda. Só para dar um pouco de espaço, como 0,5 para eles. Incrível. Parece muito bom. E então, o último, acho que ainda não precisamos mudar. É apenas o tamanho normal 16. Outra coisa, vamos adicionar um pouco novamente, basta adicionar um pouco de preenchimento, alguma margem Hum, entre esses dois, acho que há cerca de um RM, digamos, margem superior. Um Ram. E sim, muito bom. E então adicionaremos esse botão na parte inferior. Então, o botão, provavelmente com cerca de 1,5 Rm de preenchimento na parte superior. OK. E então vai ser que vai dizer “inscreva-se”. E a cor de fundo será essa. Então, vamos dizer plano de fundo. A cor é isso. E a cor real do texto será branca. Legal. Ah, e sim, deveria ser isso. Acho que sim, vamos fazer com que seja em toda a largura. Isso é Width whoops. É igual a 100%. A transformação de texto não é nenhuma ; na verdade, está forçando-a entrar em maiúsculas, o que não queremos E então provavelmente faremos com que a espessura da fonte, talvez 600, fique um pouco mais ousada. Hum, em termos de tamanho. Sim, é normal. Talvez até façamos 800. Legal. E acho que talvez haja um pouco mais de acolchoamento na parte superior Cebola. Isso parece muito bom. Então essa é a segunda carta, logo ali. Vamos continuar e criar essa terceira, a terceira peça da carta, devo dizer. E esse será o nosso Y. E, novamente, você provavelmente pode inventar um nome melhor do que Y, mas vamos usar Y para sair Então, isso é, novamente, começando com a caixa de material para você. Usando isso como nossa base. Vamos importá-lo para nosso contêiner de cartão agora, então vamos dizer o porquê. Legal. Então, agora você vê como está se acumulando em linha reta. Na verdade, queríamos ficar de lado. Então é aqui que vamos começar a mexer com nossa tela Então, vamos dizer display flex, e isso deveria simplesmente aparecer para o lado Você vê como ocupa uma quantidade igual nas laterais. Então, isso meio compensa o fato de estar lá A outra coisa que realmente queremos fazer, que eu esqueci completamente, é definir o raio da borda na parte inferior Então, vamos fazer isso bem rápido antes de prosseguirmos completamente. Então, meio que retirando do cabeçalho do cartão, vamos modificar onde está o raio da borda Na verdade, queremos que seja a parte inferior. Então, vamos mudar isso. Ou, não, na verdade, provavelmente apenas o de baixo. Então, serão três zeros e 0,5. Então, só queremos que esse milho seja curvo. Então, hum, sim, nós temos isso aí. E então vamos passar para Y. Agora, para Y, queremos fazer basicamente um estilo similar a este Então, uma cópia, podemos pegar isso emprestado e usar isso como nossa base, e depois mudar para onde vai o zero Então, o zero que queremos desse lado. Então, sim, você verá que a borda externa é curva. Também precisamos pegar essa cor, que é Oh. Que cor é essa? Acho que era a outra cor. Eu não acho que sim. Uh, outra maneira rápida pegar cores é usando esse seletor de cores Sim. Incrível. Super rápido. Uh, a cor de fundo vai ser essa. Perfeito. Perfeito. Tudo bem, legal. Então nós temos isso. Agora, vamos inserir nosso texto, e isso deve ser muito mais simples. Então nós temos o meu ônibus. Uma gota em um elemento tipográfico. Por que a tipografia dos EUA. Legal. E será, novamente, um tamanho 18. E então o peso da fonte será, acho que seria de 600 para a outra. Hum, então deve coincidir. E então a cor será branca. Legal. Incrível. Hum, Max Width, nós temos esse conjunto. Então precisamos dessa lista aqui. Agora, há duas maneiras de fazer isso. Poderíamos fazer isso, tipo, uma espécie de pausa usando pausas, mas acho que a melhor maneira de fazer isso é usando uma lista não ordenada real Então, vamos dizer lista não ordenada. Eles têm um componente de lista? Oh, eles têm. Eu não o usei antes. Vamos experimentar e ver no que vai dar. Hum, então vamos dizer lista. E então o que é isso? Lista? Item da lista, talvez? Sim, item da lista. Ok. E então deixe-me colocar o primeiro e ver se está tudo bem Tutoriais de especialistas do setor. Vamos ver, tipo de elemento, eu pareço mal, tipo de elemento preguiçoso Oh, uh, item. Ok. Mamãe. É indentado. Eu realmente não adoro isso, indente. Hum, eu acho que há uma propriedade que é como o estilo Listyle List Nenhuma? Não. Hum, Listyle CSS. Mamãe. Quadrado por dentro. Nenhuma. Dentro. Ah, interessante. Ok. Eu realmente não amo isso. Como remover o recuo da lista, CSS. Margem de saída esquerda. Margem esquerda. Zero. Vamos ver se isso funcionou. Não. Vamos experimentá-lo aqui. Não. OK. Eu realmente não estou adorando a lista só porque ela não está fazendo o que precisávamos fazer. Então, vamos usar uma caixa e vamos usar elementos de tipografia logo abaixo Então, deixe-me copiar todo esse texto. Largue isso aí. Mm Ok. E vamos simplesmente colocá-los em elementos tipográficos. Então, caramba. Tudo bem. Hum ok. Sim. E uau, na verdade, o número certo. Fantástico. Uh, Opa. Ok, legal. Vamos nos livrar desse pequeno espaço extra lá. Tudo bem, legal. Então, agora temos todos eles alinhados. Hum, outra coisa que eu vou querer fazer. Eu poderia ter criado um componente de estilo para eles, mas não fiz. Novamente, existem maneiras de tornar isso muito mais limpo, você sabe, se você estiver usando isso em seu portfólio. E isso parece bom. A única coisa que eu quero fazer é definir, tipo, uma largura mínima. Então, o que é isso? 318? Acho que vou definir a largura máxima, mas a largura mínima. Ou isso é o mesmo? Isso deveria ser o mesmo, na verdade. Oh, não, isso não está certo. Acho que é por isso que está dizendo use grid. Hum. Então, vamos ao guia de layout de grade CSS Trix Então, dizemos grade de exibição. Vamos tentar isso. Hum, então seria para este contêiner. Então, se dissermos grade de exibição, colunas do modelo de grade, um FR , um FR, elas devem ocupar a mesma quantidade de espaço. Legal. Isso resolveu nosso problema. Nós vamos continuar com isso. Então isso funciona para isso. Para o design do desktop. Portanto, nosso design de desktop está basicamente completo. Estamos prontos para ir. A próxima coisa que queremos analisar é nosso design móvel. Então, eu o abro em uma segunda guia para poder alternar entre os dois Para o design móvel, na verdade, queremos que seja apenas uma opção. Então, se eu disser um FR, sim, é isso que queremos. Tudo bem, então vamos colocar nossa consulta móvel aqui. Então, vamos usar nosso gancho de consulta de mídia do Material UI importá-lo daqui. Acho que talvez precisemos usá-lo. Bem, veja. Talvez o tenhamos usado em alguns locais, e vou aumentá-lo um pouco Eu vou dizer que Cs mobile é igual a min ou desculpe, Max Width, 600 pixels E então eu vou perguntar, se for móvel, faça isso, se não, faça outra coisa. Portanto, se for móvel, queremos que as colunas do modelo de grade sejam apenas uma fração. Caso contrário, queremos que seja uma fração e uma fração. Basicamente, dizendo que é, ou está configurado como um e um ou é um e dois. Então é isso que faremos lá. Ah, e não gosta porque isso precisa ser um componente do cliente. Vamos guardar isso. OK. Incrível. Legal. Então, isso parece bom. E então, sim, está fazendo isso corretamente aqui. A única outra coisa que eu quero mudar são essas coisinhas irritantes, hum, do raio de fronteira E acho que isso faz parte do truque do design. Oh, na verdade, aqui, eles simplesmente não a têm curvatura na parte inferior Interessante Então eu acho que você apenas remove o raio da borda se estiver reto para baixo. Hum, eu não sei se isso é ideal ou se foi apenas um acidente, mas vamos seguir o design conforme descrito Então, raio da fronteira. Sim, vamos ter que fazer mais duas, hum, duas consultas móveis Então, copiaremos essa consulta de mídia para o CTA. E, novamente, não é estritamente necessário, mas não parece cinza. Não parece polido. Então, queremos ter certeza de que fazemos o melhor com o que estamos trabalhando. Então, vamos transformar isso em um componente de cliente e, em seguida, diremos, no celular, o raio da borda é zero, caso contrário, o raio da borda é E então faremos a mesma coisa em nosso Y. Também removeremos algumas dessas importações de não serem usadas apenas para manter as coisas limpas Diremos que, se for móvel, o raio do pedido móvel será zero Caso contrário, funcionará e, sim, parece muito bom. Isso é exatamente o que queremos lá. Então eu acho que , sim, acho que é muito bom ir lá. Então, sim, essa foi uma maneira muito rápida de como podemos usar CSS grid, uma combinação de grid e flexbox, na verdade, para criar um design responsivo Como eu disse, existem maneiras de otimizar isso e torná-lo muito mais limpo. E eu recomendo que, se essa for uma das peças do seu portfólio, você definitivamente dedique alguns minutos para limpá-la. Você sabe, use componentes muito mais razoáveis. Não se repita tanto e, sim, faça dela uma peça de portfólio muito, muito sólida.