Tag: design

  • Como Selecionar o Item de Uma Tabela HTML

    Como Selecionar o Item de Uma Tabela HTML

    Uma dúvida foi postada no grupo de Design e Programação de nossa página, lá no Facebook, hoje. Essa pergunta era referente a como selecionar de uma linha de uma tabela HTML?

    Para tal, basta usar um pouco de Javascript e CSS.

    Montando a Tabela

    Vamos montar, para testar, uma tabela simples, respeitando a semântica HTML básica. Vamos aproveitar para colocar logo um botão, que vai ser por onde podemos visualizar os dados da linha selecionada:

    <table id='minhaTabela'>
         <thead>
              <tr>
                   <th>ID</th>
                   <th>Nome</th>
                   <th>Idade</th>
              <tr>
         </thead>
         <tbody>
              <tr>
                   <td>01</td>
                   <td>Rodrigo</td>
                   <td>33</td>
                   </tr>
              <tr>
                   <td>02</td>
                   <td>Taynara</td>
                   <td>21</td>
              </tr>
              <tr>
                   <td>03</td>
                   <td>Raveny</td>
                   <td>22</td>
              </tr>
              <tr>
                   <td>04</td>
                   <td>Sérgio</td>
                   <td>51</td>
              </tr>
              <tr>
                   <td>05</td>
                   <td>Alice</td>
                   <td>20</td>
              </tr>
         </tbody>
    </table>
    
    <button id="visualizarDados">Visualizar Dados</button>
    

    Agora precisamos incluir um estilo para que a tabela fique mais elegante.

    É importantíssimo prestar atenção ao class “selecionado” que vai ser a referência para o seu javascript saber qual linha está selecionada na tabela.

    #minhaTabela{
      width:80%;
      margin:0 auto;
      border:0;
      box-shadow: 0 5px 30px darkgrey;
      border-spacing: 0;
    }
    
    #minhaTabela thead th{
      font-weight: bold;
      background-color: black;
      color:white;
      
      padding:5px 10px;
    }
    
    #minhaTabela tr td{
      padding:5px 10px;
      text-align: center;
      
      cursor: pointer; /**importante para não mostrar cursor de texto**/
    }
    
    #minhaTabela tr td:last-child{
      text-align: right;
    }
    
    /**Cores**/
    #minhaTabela tr:nth-child(odd){
      background-color: #eee;
    }
    
    /**Cor quando passar por cima**/
    #minhaTabela tr:hover td{
      background-color: #feffb7;
    }
    
    /**Cor quando selecionado**/
    #minhaTabela tr.selecionado td{
      background-color: #aff7ff;
    }
    
    button#visualizarDados{
      background-color: white;
      border: 1px solid black;
      width:50%;
      margin: 10px auto;
      padding:10px 0;
      display: block;
      color: black;
    }
    

    Javascript

    Para sermos mais justos, vamos fazer o exemplo usando Javascript puro. No nosso exemplo, vamos contemplar a opção de selecionar uma única linha ou mais de uma linha, opção determinada apenas por um parâmetro. Ainda vamos ver como manipular os dados.

    Inicialmente, precisamos capturar a tabela e adicionar, à ação de clique, uma função que adicione ou remova a classe de seleção:

    var tabela = document.getElementById("minhaTabela");
    var linhas = tabela.getElementsByTagName("tr");
    
    for(var i = 0; i < linhas.length; i++){
    	var linha = linhas[i];
      linha.addEventListener("click", function(){
      	//Adicionar ao atual
    		selLinha(this, false); //Selecione apenas um
                    //selLinha(this, true); //Selecione quantos quiser
    	});
    }
    

    A função selLinha() vai ser responsável por adicionar ou remover a class “selecionado” do nó. Passamos também um parâmetro que vai determinar se poderá selecionar mais que uma linha ou apenas uma. O primeiro laço, caso múltiplos seja falso, irá apenas desmarcar todos as linhas antes de marcar a linha clicada.

    /**
    Caso passe true, você pode selecionar multiplas linhas.
    Caso passe false, você só pode selecionar uma linha por vez.
    **/
    function selLinha(linha, multiplos){
      if(!multiplos){
      	var linhas = linha.parentElement.getElementsByTagName("tr");
            for(var i = 0; i < linhas.length; i++){
               var linha_ = linhas[i];
               linha_.classList.remove("selecionado");    
            }
      }
      linha.classList.toggle("selecionado");
    }
    

    Agora vamos adicionar uma função ao clique do botão para que a gente possa visualizar os dados selecionados. Para isso, iremos justamente capturar apenas as linhas que tiverem a class “selecionado” e, através de um laço, vamos concatenar os valores dentro dos nós <td> da(s) linha(s) selecionada(s).

    /**
    Exemplo de como capturar os dados
    **/
    var btnVisualizar = document.getElementById("visualizarDados");
    
    btnVisualizar.addEventListener("click", function(){
    	var selecionados = tabela.getElementsByClassName("selecionado");
      //Verificar se eestá selecionado
      if(selecionados.length < 1){
      	alert("Selecione pelo menos uma linha");
        return false;
      }
      
      var dados = "";
      
      for(var i = 0; i < selecionados.length; i++){
      	var selecionado = selecionados[i];
        selecionado = selecionado.getElementsByTagName("td");
        dados += "ID: " + selecionado[0].innerHTML + " - Nome: " + selecionado[1].innerHTML + " - Idade: " + selecionado[2].innerHTML + "\n";
      }
      
      alert(dados);
    });
    

    Vamos Testar?

    ID Nome Idade
    01 Rodrigo 33
    02 Taynara 21
    03 Raveny 22
    04 Sérgio 51
    05 Alice 20

    No entanto, se você preferir ver todo código completo, acesse o JsFiddle incorporado abaixo:


    Gostou do post curtinho? Tem dúvidas? Deixe seu comentário e compartilhe com quem você achar que vai gostar. Aproveite para entrar no nosso grupo de Design e Programação no Facebook ou em nossa página. Acompanhe-nos no Twitter e Instagram.

  • Corel Lança Nova Versão de Sua Suite Focada em Design de Produtos

    Corel Lança Nova Versão de Sua Suite Focada em Design de Produtos

    No último dia 12 de Junho, a Corel lançou a nova versão de sua suite específica para designers de produtos e engenheiros. Chamada de CorelDRAW Techinical Suite 2018, esta versão traz ainda mais integração com plataformas CAD e se foca na criação e finalização de produtos técnicos, como esquemas, manuais de construção e similares.

    A suite inclui o Corel DESIGNER e os já conhecidos pela maioria, Corel DRAW e Corel PHOTO-PAINT, dentre outros aplicativos satélites.

    Tela do Corel Designer
    Tela do Corel DESIGNER 64 bits

    Dentre as novidades da versão 2018 estão o novo modelo de desenho por simetria (modo similar ao perspectiva, do Illustrator, que permite desenhar em planos tridimensionais) e a conversão quase automática de modelos 3D em imagens vetorias 2D para ilustração profissional.

    Modo de desenho por Simetria
    O novo modo de simetria ajuda o usuário a criar ilustrações isométricas.
    Modo de conversão 3D
    É possível converter modelos 3D para 2D para editar os vetores e dar melhores contextos a manuais e esquemas técnicos

    O que está incluso?

    • Corel DESIGNER® 2018 – Ilustração de precisão técnica
    • CorelDRAW® 2018 – Conhecido programa de ilustração e impressão
    • PHOTO-PAINT® 2018 – Editor de imagem matricial
    • PowerTRACE® 2018 – Converso de imagem matricial para vetorial
    • Font Manager™ 2018 – Gerenciador de fontes
    • XVL Studio Corel Edition – Visualização 3D
    • CONNECT™ – Gerenciador de conteúdo
    • CAPTURE™ 2018 – Captura de tela
    • AfterShot™ 3 HDR – Editor de fotos RAW
    • PhotoZoom Pro 4 – Plugin de exportação de fotos digitais para o PHOTO-PAINT

    O novo CorelDRAW Techinical Suite 2018 já está disponível no Brasil por R$2.699,00, permanentemente ou através de assinatura anual por R$1.099,00 e pode ser adquirido direto no site da Corel.

    Com informações do blog da Corel e da página oficial do produto

  • Adobe apresenta solução para criação de objetos em Realidade Aumentada

    Adobe apresenta solução para criação de objetos em Realidade Aumentada

    Na última WWDC, a Adobe apresentou uma solução de RA (Realidade Aumentada) que visa facilitar a produção de conteúdo para esse segmento. Nomeada de Adobe Aero, essa solução consiste em um conjunto de ações, complementos e aplicativos para agilizar o desenvolvimento de objetos 3D para realidade aumentada, tanto para design quanto para criação de aplicativos.

    Em colaboração com a Apple e a Pixar, a Adobe também anunciou o suporte de USDZ (Universal Scene Description -Zipped) para o Adobe Creative Cloud. Designers podem criar e editar seus objetos em ferramentas como o Photoshop CC e Dimension CC, para então exportar nativamente para o USDZ que pode ser consumido pelo ecossistema da Apple.

    O Project Aero consiste em desenvolver soluções para serem usadas com o ARKit da Apple e vinculando ao Xcode para refinamento e o uso no desenvolvimento.

    Exemplos do uso das novas funcionalidades da Adobe poderão ser vistos no Festival do Impossível, que vai acontecer no começo de Junho em São Francisco.

    Caso você seja desenvolvedor ou designer e tenha interesse em experimentar o Projeto Aero, estão abertas inscrições para acesso antecipado através do site da própria Adobe. Vale ressaltar que precisa possuir um iPhone 6S ou mais recente para usar a solução.

    Mais informações surgirão na Adobe MAX, durante o outono americano.

  • Gráfico / Loader Radial com CSS e Javascript Puro

    Gráfico / Loader Radial com CSS e Javascript Puro

    Disclaimer: If you are coming from an english or international chat/group, please roll to jsfiddle at the end of this post and get all comments and explanations in english or access jsfiddle link.

    Bibliotecas de gráficos existem aos montes. A maioria pesada e com poucas (ou complexas) opções de personalização. De modo que, pensei, será que é possível usar a animação do CSS para criar um gráfico leve? Como exercício, talvez eu pudesse desenvolver uma solução de gráfico radial que pudesse funcionar bem. Esse questionamento veio a partir da pergunta de uma pessoa, em um grupo, que queria criar um loading infinito com CSS.

    Criando o CSS

    Para poder criar a animação do load, pensei em diversas formas que já são usadas como solução, como o gradient ou gambiarras com contornos, mas eles não usam realmente o conceito da animação do raio a partir do centro. Para resolver, pensei em apelar para a trigonometria. Dividi então o círculo em 4 triângulos retângulos.


    A partir daí podemos considerar a animação a partir de cada dos vértices da hipotenusa, se abrindo do raio, formando o triângulo retângulo, como no exemplo abaixo:

    <style>
     .triangulo{
        width: 200px;
        height: 200px;
        background-color: #c1f347;
        margin:0 auto;
        animation: triangle 3s infinite  alternate;
    }
    
    @keyframes triangle {
        from   {
            clip-path: polygon(50% 0%, 0% 100%, 0 100%);
        }
        to {
            clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
        }
    }
    <style>

    OK, conseguimos criar os triângulos com o clip-path do CSS. Graças ao ele podemos colocar caminhos de uma imagem a partir de vértices. Mas como colocar isso nos 4 triângulos? Não faria o menor sentido colocar os triângulos um do lado do outro. Como fazer então para utilizar um caminho completo para dar o efeito de transição radial?

    Para isso, basta fazermos um cálculo simples. Quantos vértices seriam necessários para criar um polígono que dê a volta? Bem, basta contarmos o vértices do quadrado (4) mais um ao centro que define os triângulos e mais um para fechar a animação. Ou seja, precisamos de um hexagono.

    <style>
     .hexagono{
         width: 250px;
         height: 250px;
         background-color: #f98b2a;
         margin: 0 auto;
         animation: hexagon 3s infinite  alternate;
    }
    
    @keyframes hexagon {
         from   {
              clip-path: polygon(50% 0%, 90% 20%, 100% 60%, 75% 100%, 25% 100%, 0% 60%, 10% 20%);
              background-color: #2af9f7;
         }
        to {
              clip-path: polygon(50% 0%, 100% 0, 100% 60%, 100% 100%, 0 100%, 0% 60%, 0 0);
         }
    }
    <style>

    Agora basta manipular os vértices do hexagono para se comportar similar ao triângulo retângulo, levando os pontos do vértice, em fila, sempre ao próximo ponto do quadrado.

    <style>
     .quadrado{
        width: 250px;
        height: 250px;
        background-color: #f98b2a;
        margin:0 auto;
        animation: square 3s infinite  alternate;
    }
    
    @keyframes square {
        0%   {
            clip-path: polygon(100% 0, 100% 0%, 100% 0%, 100% 0%, 100% 0%, 50% 50%);
            background-color: #36ff9a;
        }
        25%  {
            clip-path: polygon(100% 0, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 50% 50%);
            background-color: #fccf40;
        }
        50%{
            clip-path: polygon(100% 0, 100% 100%, 0% 100%, 0% 100%, 0 100%, 50% 50%);
            background-color: #f40696;
        }
        75%  {
            clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0%, 0 0, 50% 50%);
            background-color: #55aadd;
        }
        100% {
            clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 100% 0, 50% 50%);
            background-color: #36ff9a;
        }
    }
    <style>

    Basta colocar agora a animação como linear, para evitar as pausas (o padrão possui um ease) e adicionar um elemento acima com um overflow: false e um border-radius: 50%, de forma a ficar realmente circular:

    Controlando com Javascript

    Podemos fazer um jeitinho para que o Javascript controle a animação. Para isso, podemos usar algumas propriedades que controlam a animação. Em especial, vamos poder pausar e continuar a animação, através do parâmetro animationPlayState.

    O código completo está disponível pelo jsFiddle. O código está todo comentado e pode ser testado diretamente abaixo:

    0%




    Obs. Não use filtro blur ou muitas sombras se quiser compatibilidade com o Safari iOS.

    Provavelmente, esta não é a melhor solução para criação de um gráfico radial. Mas é interessante vermos que podemos desenvolver novas soluções, e mais leves, a partir de tecnologias mais recentes. Se você gostou, compartilhe, se tem alguma dúvida, comente. Aproveite para curtir nossa página do Facebook e entrar no grupo, através do link abaixo.

  • CSS – Como usar transition com display:block?

    CSS – Como usar transition com display:block?

    Todos sabemos que transições são importantes para diminuir a sensação de repentinidade para o usuário e preparar o cérebro para, aos poucos, compreender a nova informação.

    Porém, o  transition do CSS3 não funciona uniformemente com todos os parâmetros. Quem nunca quis que um elemento HTML em tela sumisse aos poucos?

    O mais comum é utilizar o bom e velho display: none;, porém este simplesmente não funciona ao aplicar um transition. Usemos a lógica de que a passagem de um bloco para um nada não é uma transição. No CSS, uma transição inicialmente precisa ser um comando baseado em números.

    Como usar o CSS para fazer a transição de um objeto sumir?

    Para realizar esta ação, vamos usar um pequeno truque. Ao invés de simplesmente não mostrar o objeto, vamos desativar sua propriedade de ser manipulável com o mouse ou toque. Para isso podemos usar a propriedade pointer-events, ficando:

    div{
        opacity: 1;
        transition: opacity .5s linear;
    }
    
    div.hide{
        opacity: 0;
        pointer-events: none;
    }

    Para fazer o objeto desaparecer vamos usar um pouco de JavaScript apenas para adicionar ou remover a classe CSS da div:

    function ocultar(){
        var element = document.getElementById("idDaDiv");
              element.classList.add("hide");
    }
    function mostrar(){
        var element = document.getElementById("idDaDiv");
              element.classList.remove("hide");
    }

    Vamos testar?

    Mas e se você quiser que ele também não ocupe um espaço? Pois pode ficar um buraco perturbador. Nesse caso você pode modificar a altura do elemento para poder aproveitar melhor esse espaço. Todavia, a propriedade height não é animável (talvez por possuir uma propriedade auto). Para esse caso, você precisa usar o max-height para realizar esta animação.

    div {
      overflow:hidden;
      max-height: 200px;
      transition: max-height 1s ease-in-out;
    }
    
    div.hide {
      max-height: 0;
      pointer-events: none;
    }

    Lembre-se que para evitar que o conteúdo seja mostrado independente da div que você vai aplicar a transição, será necessário colocar a propriedade overflow como hidden. Também é importante salientar que a propriedade max-height só é animável caso você use as medidas fixas em pixels. Como ele determina apenas o tamanho máximo, não vai influenciar se você colocar um tamanho maior que o esperado, o que se torna funcional também para responsividade.

    Vamos Testar?

    Se acredita que essa dica de CSS é útil para mais alguém, compartilhe e curta esta página!

  • Adobe Muse é Oficialmente Descontinuado

    Adobe Muse é Oficialmente Descontinuado

    Nesta dia 26 foi anunciado através de e-mail e da página oficial do Muse, o encerramento de desenvolvimento de novas funcionalidades para o Muse. A ferramenta ainda terá suporte técnico por mais um ano.

    Em sua justificativa, basicamente a Adobe reconhece que o Muse não é uma solução eficaz para nenhum dos casos ao que ele foi proposto no começo e que o público profissional não usa ou não deve utilizar a ferramenta. Ainda recomenda alternativas para caso o usuário tenha um site publicado através deste.

    Apesar das boas intenções, o Adobe Muse tentou atingir um nicho que não é próprio da Adobe.

    Um anúncio menos importante aconteceu também neste dia 26 de Maço. O Business Catalyst também será encerrado com o prazo do dia 26 de Março de 2020. O anúncio é menos impactante pois o Business Catalyst sempre foi pouco conhecido pelo público geral da Adobe.

    O Adobe Muse foi uma ferramenta desenvolvida pela Adobe para fazer sites automaticamente. À medida que o Dreamweaver se fortalecia como uma ferramenta forte de desenvolvimento, para o lado mais automatizado a Adobe seguiu para a linha Edge. O Muse veio junto com a estreia de ferramentas como Adobe Edge Flow, Edge Code (posteriormente se tornando o Brackets), dentre outras.

    O Adobe Muse gera códigos pouco semânticos e pouco reutilizável para gerar sites. Por profissionais, os que ainda o usava eram para desenvolver protótipos, o que foi completamente abandonado pelo Adobe XD. Entretanto, há uma comunidade forte de usuários do Muse no Brasil, que usam a ferramenta como uma espécie de WIX para vender sites para pequenas empresas, apoiando um mercado cinza de vendas de serviços por leigos.

    Devido a algumas dúvidas, aqui vai a versão traduzida do anúncio da Adobe:


    Anúncio sobre o Produto Adobe Muse

    Como a Adobe continua a refocar no desenvolvimento de produtos e soluções que ofereçam a nossos clientes o que há de melhor, nós estamos agora anunciando o fim do desenvolvimento de novas funcionalidades para o Adobe Muse CC.

    Prazo

    Em 26 de Março de 2018 nós iremos lançar o último lançamento com melhorias do Adobe Muse. Nós iremos continuar a oferecer suporte técnico para todas as contas ativas dos clientes do Creative Cloud até 20 de Maio de 2019. Por favor, veja a seção de FAQ e Respostas para mais detalhes.

    Cobertura

    Adobe vem disponibilizando softwares e serviços excepcionais para nossos clientes. Isso está em nossa natureza de inovar e tentar coisas novas, e esse foi o espírito quando começamos a desenvolver o Muse oito anos atrás. Enquanto nós vinhamos comprometidos com a visão do Muse, nós percebemos tendências na criação de websites que nos fizeram evoluir nossa estratégia:

    • Designers que são ativamente engajados em criar websites e aplicações complexas estão investindo em UX design e conhecimentos em prototipagem enquanto com parcerias com times de desenvolvimento trazem seus designs à vida.
    • Para websites mais simples, notamos os surgimento de criadores Faça-Você-Mesmo (FVM) que utilizam modelos personalizáveis que podem rapidamente criar sites responsivos que podem ser modificados por um designer ou um usuário.

    Nós agradecemos nossos usuários e queremos ajudá-los a fazer uma transição suave para outras ofertas da Adobe que possam atender suas específicas necessidades:

    • Se você está construindo websites e aplicações complexas, você pode usar o Adobe XD. Apesar do Adobe XD não gerar código pronto para a web como o Adobe Muse fazia, o XD é uma solução all-in-one que permite o usuário a projetar, prototipar e colaborar com interessados e desenvolvedores para trazer vida a seus websites.
    • Se você está construindo um website para demonstrar seu trabalho criativo, você pode usar o Adobe Portfolio para criar belos websites de portfolio que você pode conectar com a plataforma Behance.
    • Se você está construindo um website de uma página, como um cronologia de fotografias, newsletters ou landing pages, você pode usar o Adobe Spark Page para criar belas páginas da web responsivas com seu estilo único.

    FAQ e Respostas

    Isso afeta todos os usuários do Muse?

    Sim

    Qual é o prazo?

    O time do Muse irá parar de desenvolver novidades a partir de 26 de Março de 2018. Nós iremos continuar oferecendo suporte técnico para todos os usuários ativos do Creative Cloud até 20 de Maio de 2019.

    Eu entendi que não vai haver mais desenvolvimento do Muse, mas o programa irá parar de funcionar em 20 de Maio de 2018 quando o suporte acabar?

    Não, a aplicação Muse irá continuar a abrir no seu computador. Você conseguirá continuar editando o que já existe ou criar novos websites com a aplicação, todavia é bem possível que os padrões da web e navegadores continuem mudando depois que a Adobe parar de dar suporte a aplicação. Depois de 20 de Maio de 2019, a Adobe não mais irá entregar atualizações de compatibilidade com MacOS e Windows ou corrigir qualquer bug que possa ocorrer quando for publicar os sites Muse na web.

    Que tipo de ajuda e material de suporte poderei esperar no futuro?

    O Adobe Muse Microsite continuará disponível para usuários até que o suporte termine em 20 de Maio de 2019. Todavia não haverá inclusões de novos materiais e nem de eventos, tutoriais ou sites do dia. O Muse Widget Directory continuará atualizado com a disponibilidade atual do widget durante esse prazo.

    O que vai ocorrer com meu website  construído em Muse? Ele irá desaparecer?

    Websites construídos com Adobe Muse continuarão a funcionar na internet no caso de estar em qualquer outra hospedagem third-party, como uma GoDaddy ou Bluehost (por exemplo). Sites hospedados no Business Catalyst deverão ser republicados para outras hospedagens para manter-se funcionando depois de 26 de Março de 2020 quando a hospedagem do Business Catalyst não estará mais disponível.

    Eu tenho licenças/downloads de widgets Muse de um dos seus parceiros widgets. Meus widgets continuarão funcionando depois que a Adobe suspender o suporte do Muse?

    Isso depende individualmente de cada provedor do widget. Se você estiver fazendo um pagamento anual para um plano de inscrição com eles, você deverá ficar alerta para verificar os planos de suporte oficial para o futuro.

    Os widgets que eu comprei de um de seus parceiros irão funcionar com o Bhance Porfolio ou com o Adobe Drewamweaver?

    Infelizmente, não. Todos os widgets que foram desenvolvidos para funcionar com o Adobe Muse são apenas compatíveis com o Adobe Muse.

     

  • Netflix Anuncia Família Tipográfica Própria – Netflix Sans

    Netflix Anuncia Família Tipográfica Própria – Netflix Sans

    A Netflix anunciou nesta quinta-feira (dia 22) uma nova família tipográfica própria para usar em sua identidade visual.

    Perguntado pelo motivo da criação, o designer de marcas Noah Nathan, responsável pelo desenvolvimento da tipografia personalizada, afirma que é uma questão de economia no marketing, além de ampliar o conceito da identidade da empresa.

    Com a natureza global dos negócios da Netflix, licenciamento de fontes podem ser muito caras

    – afirma Nathan ao blog Its Nice That. E prossegue:

    Desenvolver esta tipografia não é apenas criar uma ‘bem’ e um elemento único para estética da marca… Mas economizar milhões de dólares para a companhia todo ano aplicando futuramente suas tipografias de licença própria em muitos espaços digitais de publicidade.

    Ainda segundo o Its Nice That, a tipografia foi pensada em estética e funcionalidade, com proporções que seu próprio criador chama de “cinemático” para as maiúsculas e “compacto e eficiente” para as minúsculas. Noah descreve as formas como limpas e neutras, sem excessos ou distrações.

    Netflix Sans chega em diferentes pesos (espessuras): regular, light, thin, medium, bold and black.

    A criação de tipografias próprias para economias em distribuição na área de tecnologia não é uma coisa nova. A família Arial é uma “cópia assumida” da família Helvetica, que foi encomendada pela IBM e, posteriormente, Microsoft, para não precisarem pagar os royalities do uso também do Helvetica e suas variações(como a Apple fez por anos). Até hoje a empresa do Windows utiliza tipografia própria. Mais recentemente, a Apple também oficializou a família San Francisco e a Samsung o SamsungOne.

    Com notícias do CNBC, Its Nice That e do site Noah Nathan

  • 3 Dicas Rápidas de CSS para Facilitar Leitura de Conteúdo do seu Site ou Blog

    3 Dicas Rápidas de CSS para Facilitar Leitura de Conteúdo do seu Site ou Blog

    Quem trabalha com sites, principalmente com blogs, deve-se focar muito na facilidade da leitura. Por isso, resolvemos separar para vocês algumas dicas para quem trabalhar com templates ou blogs otimizarem seus textos de forma a ficar melhor para o leitor.

    1 – Tamanhos de Fontes, Espaçamentos e Entre Linhas

    Uma das coisas mais irritantes em blogs e sites de notícia é a forma como as vezes eles comprimem as fontes para poder encaixar mais anúncios. Esses textos acabam por ser cansativos de ler e, por conta disso, vale a pena investir um pouco de tempo e cuidado para melhorar essa leitura.

    Cada família tipográfica possui seu próprio espaçamento e tamanho, por isso, as medidas podem variar de acordo com a que você escolher usar. Muitos sites utilizam tamanhos de 12px com line-height normal. Apesar de caber mais informações dessa forma, isso causa uma péssima experiência.

    No geral, devemos aumentar o espaçamento entre-linhas e manter um bom tamanho de fonte.

    Obs. É importante declarar a metatag para o escalonamento, em seu <header>:

    <meta name="viewport" content="width=device-width, initial-scale=1">

    O espaçamento e tamanho da fonte pode variar dependendo de sua preferência. O blog do Google, por exemplo, usa algo como:

    .post p{
        font-size: 16px;
        letter-spacing: 0;
        line-height: 26px;
    }

    O importante é que se caso você queira aumentar ou diminuir a fonte, por algum motivo, você deve proporcionalmente alterar também o line-height.

    Em algumas tipografias, pode ser necessário diminuir ou aumentar o letter-spacing. Essa propriedade indica o espaçamento entre as letras. Sites que usam uma tipografia serifada pode se beneficiar, em alguns casos, do aumento do letter-spacing. O contrário para algumas famílias sem serifa e scripts.

    .post p{
         font-size: 17px;
         line-height: 1.52947;
         letter-spacing: -.021em;
    }

    Não há problemas em usar frações ou unidades de medida quebradas. Ao contrário, geralmente esses pequenos pontos o ajudam a fazer a tipografia melhor.

    Para testar com mais facilidade, você pode usar o console do Google Chrome (botão direito e inspecionar elemento), mudando os valores em tempo real.

    2 – Justificação de Texto e Separação Silábica

    Sabemos que em desktops e laptops, temos espaço horizontal sobrando. Tanto que restringimos o espaço da leitura para evitar ficar linhas muito longas. Por conta disso, não utilizamos textos justificados para essas mídias.

    Porém, dispositivos móveis, como tablets e smartphones, a coisa muda de figura. Estamos acostumados a ler textos justificados em ambientes que estão a certa distância e pouco espaço horizontal, por uma questão organizacional da própria vista. Com o CSS3, e adoção de certas propriedades pelos principais navegadores para dispositivos móveis, podemos adicionar separação silábica na justificação, deixando o texto mais simples de ler e sem espaçamentos perturbadores entre as palavras.

    Para isso, basta adicionar, através de media-queries:

    /**Apenas em Dispositivos Móveis**/
    only screen
    and (-webkit-min-device-pixel-ratio: 1)
    and (max-device-width: 640px)
    and (min-device-width: 320px),
    screen and (max-width: 600px){
        .post p{
            text-align: justify;
            -webkit-hyphens: auto; /**Chrome/Android**/
            -moz-hyphens: auto; /**Firefox**/
            -ms-hyphens: auto; /**Edge**/
            hyphens: auto; /**Outros**/
        }
    }

    Obs. Algumas versões do Android não são compatíveis com o hyphens. Então verifique se vale a pena para você de acordo com seu público.

    3 – Tipografias Especiais (WebFonts)

    A maioria das tipografias funcionam de forma razoável, mas você pode querer personalizar para se adequar mais ao seu blog, site ou sistema.

    A forma mais barata e simples de fazer isso é através do site Google WebFonts. Lá você pode encontrar as fonts de forma bem simples e implementar facilmente em seu código.

    Basta escolher uma font desejada e clicar no +, no canto superior direito do bloco específico.

    Uma vez escolhida a(s) font(s) desejada(s), basta você clicar na janela que abre na parte inferior e seguir as instruções. Basicamente, você deve adicionar a tag de <script> em seu <header>. Uma vez feito isso, basta chamar a font-family, no CSS, no modo que está no exemplo.

    Obs. É recomendável que você vá na aba Customize (Personalizar) para que você desmarque as fonts não desejadas. Lembre-se que quanto maior a quantidade de variações, mais pesado vai ser para abrir seu site.

    Outra opção, que segue mais ou menos a mesma lógica do Google Webfonts é o Adobe Typekit. O Adobe Typekit está disponível para todos os usuários pagantes da suite Adobe. Ele pode ser acessado simplesmente abrindo janela do CreativeCloud, no Mac ou Windows, e clicando no botão Gerenciar fontes.

    Ao fazer isso, o usuário é automaticamente encaminhado para o site do Typekit da Adobe, onde ele pode criar um novo Webkit. Nele você pode criar ou manipular um kit já existente.

    Caso você clique em + Create new kit, você será direcionado a um popup com as instruções para você preencher seu site ou IP para trabalhar com a tipografia. Esse cadastro é necessário pois você tem um número limitado de kits que você pode aplicar em sua conta da Adobe.

    Uma vez confirmado, o site te encaminhará para a página onde você receberá a tag <link> que você deverá colocar em seu <header>. Uma vez feito isso, você já pode começar a escolher as fonts que vai usar na página. Por fim, você pode visualizar a forma de aplicação e demais opções no menu no canto esquerdo. Ao finalizar, lembre-se de clicar no botão PUBLISH, pois só então ele ficará disponível no seu site.

     

    Agora, se você já tem uma font legal ou a encontrou em um site como o DaFont, você pode utilizá-la também em seu site ou blog. Para preparar um pacote com sua fonte personalizada, para ser usada em um site, o site FontSquirrel disponibiliza o WebfontGenerator. Para usá-lo basta enviar a sua fonte em OTF ou TTF, concorde com os termos e gere o kit.

    Gerador de Fontes da FontSquirrel

    Feito o download, está na hora de incorporamos a fonte no seu CSS. Para isso, basta você copiar as fonts que foram geradas no kit para uma pasta font (ou outra de sua preferência), em seu site. Caso esteja usando o WordPress, coloque dentro da pasta dos eu tema.  Em seguida, é só chamar via CSS.

    @font-face {
        font-family: "minhafonteregular";
    
        src: url("fonts/minhafonte-webfont.eot");
        src: url("fonts/minhafonte-webfont.eot?#iefix") format("embedded-opentype"),
             url("fonts/minhafonte-webfont.woff") format("woff"),
             url("fonts/minhafonte-webfont.ttf") format("truetype"),
             url("fonts/minhafonte-webfont.svg#minhafonteregular") format("svg");
    
        font-weight: normal; /**Você vai precisar especificar o weight para cada espessura de font diferente**/
        font-style: normal;
    }

    Para usar onde você quiser, basta chamar o font-family, através do nome que você determinou no font-face.

    .post h1,
    .post h2{
         font-family: "minhafonteregular";
    }

     

    Outras Dicas

    • Evite contrastes de cores. Nunca deixe o branco sobre preto ou vice-versa, use tons cinzas ou ton sur ton. Altos contrastes pode deixar a leitura mais cansativa.
    • Evite cores intensas. Não use cores berrantes na tipografia. Se precisar destacar algo opte sempre por algo mais pastel ou sereno.
    • Abuse dos espaçamentos. Tome cuidado ao deixar imagens muito próximas do texto, principalmente de anúncios, para não confundir. Lembre-se, a boa tipografia não é definida pelo espaço em que ela ocupa, mas pelo espaço entre ela.

    Então, o que achou dessas três dicas? Gostaria de outras dicas como essa? Então compartilhe com quem você acha que se interesse e deixe um comentário.