Executando verificação de segurança...
137

9 princípios de design de web responsivo

Projetar interfaces apenas para desktop e mobile é passado, à medida que mais e mais dispositivos estão surgindo. Portanto, vamos esclarecer alguns princípios básicos de Design Responsivo para abraçar de vez o Design Líquido, em vez de combatê-lo.

Design Responsivo vs Adaptável

Pode parecer o mesmo, mas não é. Ambas as abordagens se complementam, por isso não há maneira certa ou errada de fazer. Deixe o conteúdo decidir (se você quer entender melhor as diferenças entre Design Responsivo, Adaptável e Líquido, leia esse post sobre o assunto).

O Fluxo

Como os tamanhos das telas tornam-se menores, o conteúdo começa a ocupar mais espaço vertical e alguma coisa vai ser empurrada para baixo, isso é chamado de "o fluxo". Pode ser complicado de entender se você está acostumado a projetar com pixels e pontos, mas faz todo o sentido quando você se acostumar com isso (se você quer entender melhor como trabalhar com porcentagens, leia esse post sobre o assunto).

Unidades Relativas

02_Relative-Units-vs-Static-Units-1

A tela pode ser um desktop, tela do celular ou outra qualquer. A densidade de pixels também podem variar, por isso precisamos de unidades que são flexíveis e trabalham em todos os lugares. É aí que entra as unidades relativas, como as porcentagens. Assim, fazer algo 50% maior significa que esta irá ter metade da tela (ou da janela de exibição, que é o tamanho da janela de navegador aberto).

Breakpoints

03_With-Breakpoints-vs-Without-Breakpoints-1

Os breakpoints permitem que o layout mude em pontos pré-definidos, ou seja, ele pode ter três colunas em um desktop, mas apenas uma coluna em um dispositivo móvel. A maioria das propriedades CSS pode ser alterada a partir de um breakpoint para o outro. Normalmente, onde você define um breakpoint vai depender do seu conteúdo. Se uma frase está quebrada pode ser necessário adicionar um breakpoint. Mas tome cuidado cuidado porque quando usados em excesso ele pode se tornar confuso e é difícil entender o que está influenciando o quêno código.

Max e Min-Width

Às vezes, é ótimo que o conteúdo ocupe toda a largura de uma tela, como em um dispositivo móvel, mas com o mesmo conteúdo em uma tela de TV, por exemplo, faz menos sentido. É por isso que os valores Max. e Mín. ajudam nessa hora. Por exemplo, ter uma largura de 100% ( width: 100%;) e uma largura máxima de 1000px (max-width: 1000px;) significa que o conteúdo vai encher a tela, mas não passar de 1000px. Ou seja, em dispositivos com resolução menor que 1000px o conteúdo irá preencher toda a tela, quando a resolução de tela passar desse valor, o conteúdo terá uma largura fixa de 1000px.

Objetos Filhos

Lembra a posição relativa ( position: relative;)? Ter um monte de elementos soltos no seu código, um dependo do outro, se torna difícil de controlar, portanto, elementos agrupados em um único recipiente (wrap) mantém tudo mais compreensível, limpo e arrumado. Este é o lugar onde as unidades estáticas como pixels podem ajudar. Elas são úteis para o conteúdo que você não quer que escale conforme o tamanho da tela, como logos e botões.

Mobile ou Desktop First

Tecnicamente não há muita diferença se um projeto é iniciado a partir de uma tela menor (mobile first) ou uma maior (desktop first). No entanto, se você começa com mobile first terá mais limitações e terá que tomar mais decisões. Algumas vezes as pessoas começam a partir das duas opções de uma só vez, então realmente, veja o que funciona melhor para você e para o seu conteúdo.

WebFonts vs Fontes do Sistema

Quer ter um visual legal com uma Futura ou Didot em seu site? Use WebFonts! Embora eles pareçam deslumbrantes, lembre-se que cada estilo (light, normal, bold, ...) e família de fonte será baixada e quanto mais fontes e estilos você tiver, mais tempo vai demorar para carregar sua página (algumas fontes podem ser bem pesadas). Fontes do Sistema, por outro lado, são muito mais rápidas de carregar ( exceto quando o usuário não tem aquela fonte localmente, então ele vai acabar vendo uma fonte do sistema).

Imagens Bitmap vs Vetores

Será que o seu ícone tem muitos detalhes e alguns efeitos aplicados? Se sim, utilize um bitmap. Se não, considere o uso de uma imagem vetorial. Para bitmaps use um JPG., PNG. ou GIF., para vetores a melhor escolha seria um SVG ou uma fonte ícone. Cada um tem algumas vantagens e algumas desvantagens. Se escolher usar uma imagem, tenha em mente o seu tamanho (nenhuma imagem deve ir ao ar sem otimização). Vetores, por outro lado, muitas vezes tem um peso menor, mas alguns navegadores mais antigos não suportam o formato SVG. Além disso, se ele tem muitas curvas, pode acabar se tornando mais pesado do que um bitmap, então escolha sabiamente.

Veja mais conteúdos como esses gratuitamente com mais qualidade em meu blog acesse: https://rf.curto.dev/blog-tabnews-ads

Carregando publicação patrocinada...
4

Esse post ficou muito bom!
Álias, também temos as unidades relativas vw (viewport width), vh (viewport height) e em, que são melhores para usar em textos.

1
2

Tenho total noção de como desenvolver uma aplicação web Responsiva e Adaptativa. Também mantenho o costume de usar elementos como ícones no formato SVG e imagens em WEBP, para uma melhor performance.

Conteúdo excelente! Ainda mais no TabNews, evitando aquele monte de anúncios e pop-ups na tela. Facilitando a leitura do artigo.

2

Parabéns pelo conteúdo!

Trabalho com E-commerce há 2 anos, tive muito preconceito com mobile first, depois que vi os numeros de acesso e a porcentagem que superava 60% em mobile, começei a usar e não largo mais. É uma metodologia muito eficaz e viciante!

No caso da responsividade, vejo muita gente que ainda não entende o conceito, realmente isso precisa ser reforçado, principalmente com clientes que querem inserir um banner de 3000x1500 em um a tag img de no maximo de 1280px de largura. Realmente vejo muita gente(Dev/Cliente) que ainda sofre com isso.

2

Acompanho o canal do filipe há um bom tempo, e ver essa iniciativa me deixou extremamente empolgado! Parábens pelo trabalho, está super bem escrito o post!

2

Muito legal cara, sou dessa area e pra mim está certinho.

Uma adição que eu faria é um pouco da divisão entre Static e Relative units, porque hoje em dia vejo muita gente utilizando relative units para tudo e não é o certo.

Onde utilizar relative units

As unidades relativas devem ser utilizadas quando existe alguma ação do utilizador (passiva ou ativa) sobre o elemento. Ou seja:

  • Em textos
  • Em componentes interativos
  • Em layouts responsivos

Onde NÃO utilizar as relative units

Em elementos que so possuem aspectos visuais.

  • Margens
  • Paddings
  • Posição absoluta
1
1
1
1
1
1
1
1
1
1
1

Faz tempo que tinha dificuldade de entender responsivo e adaptativo. Com esse post ficou mais nítido a diferença e como fazer. Vlw de mais

1
1

wow! já virou um dos meus posts favoritos aqui no tabnews, salvei aqui nos favoritos. Acho que o futuro vai ser totalmente responsivo, embora nem sempre seja fácil programar interfaces gráficas responsivas.

1
1
1
1
1
1
1
1

Caraca, esse conteúdo me ajudou bastante a clarear algumas coisas sobre responsividade. vou deixar salvo aqui pra consultar depois mt obrigado.

1
1
1
1
1
1

Bem explicativo, me fez lembrar dos menus e o clássico problema de não quebrar seu header quando tiver num dispositivo móvel, trocando pra um menu expansível, essa seria uma técnica de breakpoint que muda totalmente um elemento da página!
E falando em design responsível, esse é o primeiro curso na thread de cursos que o freeCodeCamp disponibiliza Gratuitamente pra todos que querem entender do básico até o intermediário em design responsivo E inclusivo. Se quiser conhecer mais e acessar o site é só ler meu artigo, linkado acima!

1

Eu passei anos constrindo web pages, quase que brigando com os designs, e eu e meu cologa de agecia já discutiamos muitos destes conseitos antes mesmo de chamarmos isso de design responsivo.

Eu sempre defendi usar SVG, web fonts, mobile first.

2

Qual a melhor maneira de criar um site responsivo? Utilizando Grid ou Flexbox? Utilizei Flexbox e consegui uma certa responsividade já de inicío sem preparar um mediaquerry para isso.

2

Acredito que não exista a melhor maneira (Grid ou Flexbox) para um site responsivo, isto vai depender muito das necessidades do layout nessa responsividade. Muitas vezes apenas o flexbox atende muito bem essa responsividade. Por exemplo numa seção Image-Text, onde no desktop é lado a lado, e no mobile, forma colunar, e ai pode-se usar um media query se se desejar para alterar o flow do flex, ou apenas definir uma propriedade de wrap.
Outros casos, por exemplo, que já aconteceu comigo, no layout desktop, de uma forma geral, era um Image-Text lado a lado, porém no mobile era tipo Banner-Hero (texto com uma imagem de fundo), e ai nesse caso eu optei por usar Grid, com uma propriedade de grid-area.

@renatoRea se desejar, consigo compartilhar o exemplo/estudos que realizei na época para estudar um pouco mais essas propriedades para desenvolver essas seções de landing page.

1
1

Sensacional esse post, além de ser rico em informação, você complementou com o efeitos visuais que tornou tudo mais facil. Parabens e que mais pessoas se inspirem em criar conteudo no tabnews desse tipo!

1
1
1
1
1
1
1
1

Ótimo post! Estou iniciando na programação e já tive respostas para algumas dúvidas só com essa publicação, principalmente com relação à Unidade Relativa.

1
1
1
1

Essa iniciativa do tabnews está sendo completamente incrível, venho usado ele para dar aula para meus mentorados, e é sensacional como o conteúdo é sempre relevante e bem escrito. Parabéns mano!

1

Parabéns pelo conteudo, me ajudou bastante a ter uma visão de como funciona a questão da responsividade, e irei estudar mais a fundo para aprender mais.

1

Muito obrigado.
Ajudou muito a entender os conceitos, pois coloca-se os valores de forma antagonica e entender visualmente como funcionam.

1
1
1
1

Desdo começo sempre evito usar píxeis, para praticamente tudo que eu fazia até hoje não sei se é uma boa prática isso, esse post só me mostro que não estou tão errado assim...

1

conteúdo fantástico e parabéns, eu mesmo uso uma técnica própria para layout responsivo com flexbox, porem avancei muito ao longo do templo. O css tambem tem ajudado muito com novas atualizações.

1
1
1
1
1

Só um comentário para a galera que aqui comentou.

A sessão de comentários do TabNews é para perguntas construtivas, comentários que agreguem algo para a thread e não comentários rasos como os que temos aqui.

Bora se conscientizar para construir um pedaço mais massa da Internet.

1
1
1
1

Como product designer, me aquece o coração ver essa iniciativa e como ela pode trazer artigos tão relevantes como este para um público realmente interessado.

Parabéns pelo post!

1
1
1
1
1
1

Estou estudando responsividade para melhorar minhas skills com html e css, esse artigo ajuda muito a ter uma ideia clara de como funciona, show de bola.

1
1

Conteúdo ótimo!
É a diferença que muitos iniciantes ainda não entendem e que faz toda a diferença na hora de programar e no resultado final da publicação.

1
1
1
1
1
1

Muito bom parabéns pelo conteúdo, a 8 anos atrás com toda certeza salvaria minha pele muitas vezes haha. A importância de uma percepção, cuidado e visão sobre cada um desses pontos em um projeto é muito grande.
Eu acrescentaria também a importância de aplicar um padrão no uso de unidades de medida nas fontes, particulamente gosto muito do (rem) que basicamente é o tamanho da fonte com base no elemento raiz, que particulamente facilita e MUITO no trabalho em multiplos tipos de telas e dispositivos.

1

Conteúdo interessante, simples e didático. Para iniciantes no mundo do front end, posts como este são um convite para conhecer de forma superficial, mas compreendendo o alcance dos conceitos explanados. Sugiro uma postagem com uma aplicação real, como um case study. Parabéns pelo trabalho, Rubens!

1
1
1
1
1
1
1
1
1
1
1

Outro ponto interessante com relação a responsividade
que se encaixa no ponto abordado pelo post das unidades relativas, é a utilização de 'rem' ao invés de 'px'.

1

Sobre o Rem

É interessante falar sobre o rem na perspectiva da responsabilidade, já que é uma medida que herda valores da raiz do projeto (ou do navegador, caso você mude o tamanho da fonte diretamente nele), pois essencialmente falando, essa unidade de medida é uma derivação do em, que por padrão tem um valor base já definido:

EMValor
116px

Diferente do em, podemos definir um valor padrão para determinados casos ao utilizar o rem, por exemplo mudar o meu valor raiz a depender do meu brackpoint.

1
1
1
1

eu sempre achei que o adptativo era o que permitia o conteúdo na tela se redimensionar a medida q a tela diminui ou aumenta, diferente de uma tela que tem um breakpoint responsivo onde há uma mudança abrupta de um formato para outro de acordo com cada breakpoint.

1
1
1
1
1

Curto e direto. Parabéns pelo conteúdo massa!! Muito legal, abriu um leque de possibilidades pra estudar. Cada dica vale ouro. Trabalho sensacional, parabéns!

1
1