O que é CSS?

O CSS é uma linguagem essencial para o desenvolvimento web, permitindo definir a aparência e o layout das páginas HTML. Com ele, é possível personalizar cores, fontes, tamanhos, espaçamentos, posicionamentos e muitos outros aspectos visuais de um site.

Desde seu lançamento em 1996, o CSS tem sido amplamente adotado para separar a estrutura do conteúdo (HTML) da estilização, tornando o desenvolvimento mais organizado, flexível e eficiente.

Neste artigo, vamos entender como o CSS funciona, suas principais regras de sintaxe e os diferentes seletores utilizados para estilizar páginas web.

1 – O que é CSS?

O CSS (Cascading Style Sheets, que traduzido significa Folhas de Estilo em Cascatas) é uma linguagem de estilização, geralmente, utilizada em conjunto com HTML na construção de páginas web. Essa linguagem permite personalizar fontes e cores, definir espaçamentos entre textos, posicionar elementos na tela, aplicar bordas e elevações, entre outros.

O CSS foi desenvolvido em 1996 pelo W3C (World Wide Web Consortium), com o intuito de fornecer recursos de formatação visual para as páginas web, algo que o HTML não atende, pois ele foi projetado para estruturar as páginas.

Dessa forma, ao combinarmos CSS e HTML, conseguimos separar o código de personalização visual do código estrutural. Isto proporciona uma maior organização em nossos projetos e facilita sua manutenção em longo prazo. Inclusive, a utilização do CSS é vista como uma boa prática de desenvolvimento.

2 – Como funciona o CSS?

O CSS é uma ferramenta fundamental para a construção de sites com visuais modernos e responsivos. Sua estrutura de sintaxe é a seguinte:

Seletor {
Propriedade: Valor
}

Na prática, teremos um código semelhante a esse aqui:

.elementoHTML {
atributo1: valor;
atributo2: valor;
atributo3: valor;
}

Conforme podemos observar nos modelos acima, os códigos CSS são baseados em seletores de elementos e blocos de declaração delimitados por chaves.

Enquanto os seletores apontam para os elementos HTML que serão estilizados, os blocos de declaração possuem os atributos que serão modificados no elemento referenciado pelo seletor.

Dentro dos blocos, cada declaração possui um nome da propriedade CSS e um valor, separados por dois pontos. As declarações sempre terminam com um ponto-e-vírgula, independentemente de quantas declarações houver dentro do bloco.

2.1 – Exemplo prático

Para que possamos compreender com maior clareza o que é o CSS e como ele funciona, vamos ver um exemplo simples e prático.

Considere uma página index.html com o seguinte código:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exemplo de CSS</title>
</head>
<body>
    <h1>Bem-vindo ao CSS!</h1>
    <p>Este é um exemplo de como o CSS estiliza uma página HTML.</p>
</body>
</html>

O resultado desse documento HTML, sem nenhum tipo de estilização CSS, é esse aqui:

Exemplo de página HTML sem estilização CSS.
Fonte: o autor

Observe que o HTML apresenta cada elemento na tela, sequencialmente, com uma formatação padrão. Agora, vamos atualizar o documento acima e inserir uma tag <link> no seu cabeçalho para referenciarmos o arquivo CSS que possui a estilização da página:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Exemplo de CSS</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1>Bem-vindo ao CSS!</h1>
    <p>Este é um exemplo de como o CSS estiliza uma página HTML.</p>
</body>
</html>

Vamos considerar esse código para o arquivo styles.css:

body {
    background-color: #f0f0f0;
    font-family: Arial, sans-serif;
    text-align: center;
}

h1 {
    color: #3498db;
}

p {
    font-size: 18px;
    color: #333;
}

Agora, o resultado é esse aqui:

Observe a diferença entre esta página que possui estilização CSS e a página anterior que não possui nenhum tipo de estilização.

No CSS, referenciamos os elementos HTML pelos seus nomes: <body>, <h1> e <p>. Nossa personalização aplicou ao <body> um fundo cinza, alterou a fonte dos textos e alinhou-lhes ao centro da página. No título da página, representado pelo elemento <h1>, aplicamos uma coloração azul, enquanto no parágrafo, representado pelo elemento <p>, definimos um tamanho de 18 pixels e aplicamos uma cor personalizada.

Até agora, referenciamos os elementos HTML pelos seus nomes. Porém, há outras formas de conectar o CSS com nossos documentos HTML, vamos conhecê-las no próximo tópico:

2.2 Seletores de elementos

Os seletores de CSS são usados para “selecionar” elementos HTML e aplicar estilos a eles. Eles permitem que você defina regras específicas para diferentes partes de um documento, tornando o design mais flexível e organizado. Existem três principais tipos de seletores. Vamos ver como eles como funcionam:

2.1 – Seletor de Tipo (Tag)

Aplica os estilos a todas as instâncias de uma determinada tag. Para usá-lo, coloca-se o nome da tag e abre-se chaves:

p {
  color: blue;
}

Isso deixará a letra de todos os parágrafos (<p>) do documento em azul.

2.2 – Seletor de Classe (.)

Aplica os estilos a todos os elementos que pertencem a uma determinada classe. Para usá-lo, coloca-se um ponto, seguido do nome da classe e abre-se chaves:

.destaque {
  font-weight: bold;
}

Todos os elementos pertencentes a class="destaque" terão texto em negrito.

2.3 – Seletor de ID (#)

Aplica os estilos a um único elemento que possui um ID específico. Para usá-lo, coloca-se uma hashtag, seguida do ID do elemento e abre-se chaves:

#cabecalho {
  background-color: gray;
}

O elemento com id="cabecalho" terá um fundo cinza.

Saber conectar o CSS com um documento HTML através da tag <link> e entender a utilização de cada seletor apresentado acima já é um excelente começo para trabalhar com essa linguagem. Porém, se você tem interesse em conhecer outros recursos do CSS e ver exemplos práticos de uso da linguagem, acesse o site da W3Schools e confira os conteúdos publicados por lá. Tenho certeza que esse material lhe ajudará em seus estudos.

Conclusão

O CSS é uma ferramenta indispensável para qualquer desenvolvedor que deseja criar páginas web modernas e visualmente atraentes. Ao entender como funcionam os seletores e as propriedades de estilização, é possível personalizar completamente um site, tornando-o mais agradável e acessível para os usuários.

Além disso, a utilização correta do CSS melhora a organização do código, facilita sua manutenção a longo prazo e torna nossos sites responsivos. Se você deseja aprofundar seus conhecimentos, existem diversos materiais disponíveis online, como a documentação da W3Schools, por exemplo, que pode ajudar a aprimorar suas habilidades na linguagem.

Pesquise e teste cada funcionalidade da linguagem e se quiser conhecer mais sobre programação, clique aqui e acesse meus artigos sobre o assunto.

Espero que este conteúdo seja útil de alguma forma para você. Em caso de dúvidas, sugestões ou reclamações fique à vontade para entrar em contato.

O que é HTML?

O HTML é a linguagem base da internet, permitindo a criação e organização de conteúdo em páginas web. Criada entre o final da década de 80 e início de 90, a linguagem é composta por um conjunto de elementos chamados “tags”.

Na prática, o HTML é usado na construção de sites e aplicações, definindo a disposição de textos, imagens, links e outros elementos multimídia, tornando possível a navegação e interação online.

Neste artigo, entenderemos o que é HTML, sua origem, como funciona e sua importância no desenvolvimento web moderno. Vamos começar?

1 – O que é HTML?

O HTML (HyperText Markup Language , que em português significa Linguagem de Marcação de Hipertexto) é uma linguagem de marcação utilizada para criar e estruturar páginas web, sendo considerada a linguagem base de toda a internet.

Como o próprio nome indica, o HTML é uma linguagem de marcação que permite que suas regras de marcação sejam aplicadas em documentos hipertexto. Um documento do tipo hipertexto possui trechos do seu texto que fazem referência a outros textos, internos ou externos aquele documento. Esse trechos são chamados de links e são eles que permitem uma navegação dinâmica e fluída entre diferentes conteúdos na internet.

Executado através de navegadores web (browsers), o HTML permite criar páginas web que exibem textos, imagens, vídeos, links e outros elementos multimídia nas páginas que acessamos em nosso dia a dia.

É valido ressaltar que o HTML não é uma linguagem de programação como, por exemplo, JavaScript e Python, pois, não possui a capacidade de construir lógicas de execução. Como dito anteriormente, ele é uma linguagem de marcação utilizada para descrever o conteúdo e a estrutura de uma página web.

Por essa razão, o HTML precisa ser combinado com outras linguagens para entregar uma página web funcional. Geralmente, o CSS (Cascading Style Sheets) é utilizado para estilização e formatação das páginas e o JavaScript ou PHP para criar interatividade e funções dinâmicas. 

2 – Quando surgiu o HTML?

O HTML foi criado no final da década de 1980 pelo físico e cientista da computação britânico Tim Berners-Lee, quando ele trabalhava no CERN, um avançado centro de pesquisas científicas localizado na Suíça.

Tim Berners-Lee procurava uma forma de facilitar a comunicação e colaboração entre pesquisadores localizados em diferentes partes do mundo. Como resultado de suas pesquisas foi desenvolvida uma linguagem de marcação para criar documentos digitais que poderiam ter links para conectar diferentes textos.

Essa linguagem recebeu o nome de HTML e a publicação de sua primeira especificação ocorreu em 1991, tornando-se, desde então, a base para a World Wide Web. Ao longo dos anos, a linguagem evoluiu significativamente, com diversas versões lançadas para acompanhar os avanços tecnológicos da internet.

Atualmente, a versão mais utilizada é o HTML5, lançada em meados de 2014. Essa versão trouxe melhorias como suporte a áudios e vídeos, elementos semânticos, recursos de acessibilidade, e muitos outros recursos que auxiliam na construção de aplicações web modernas.

Além disso, o HTML se tornou um padrão oficial da internet. Sua documentação e especificação são mantidas pelo W3C (World Wide Web Consortium), um consórcio internacional de empresas, órgãos governamentais e organizações independentes, responsável por definir os padrões da World Wide Web.

3 – Como funciona o HTML?

O HTML é composto por um conjunto de elementos chamados “tags” (etiquetas), as quais são responsáveis por delimitar e organizar o conteúdo de uma página web. Cada tag possui uma função específica e contêm atributos que modificam o seu comportamento.

Documentos HTML possuem extensão .html ou .htm, e possuem a seguinte estrutura básica:

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Meu Primeiro HTML</title>
</head>
<body>
    <h1>Bem-vindo ao HTML!</h1>
    
    <p>HTML é a linguagem base para criar páginas da web. Ele estrutura o conteúdo e trabalha em conjunto com o CSS e JavaScript para criar sites interativos.</p>
    
    <h2>Elementos básicos do HTML:</h2>
    
    <ul>
        <li><strong>&lt;h1&gt; a &lt;h6&gt;</strong>: Definem títulos e subtítulos.</li>
        <li><strong>&lt;p&gt;</strong>: Define parágrafos de texto.</li>
        <li><strong>&lt;a&gt;</strong>: Cria links.</li>
        <li><strong>&lt;img&gt;</strong>: Exibe imagens.</li>
        <li><strong>&lt;ul&gt; e &lt;li&gt;</strong>: Criam listas.</li>
    </ul>

    <p>Quer aprender mais? Visite o <a href="https://www.w3schools.com/html/" target="_blank">site da W3Schools</a>.</p>

    <img src="https://via.placeholder.com/300" alt="Exemplo de imagem">
</body>
</html>

O resultado do código acima é esse aqui:

Exemplo de código HTML que demonstra a montagem da estrutura de uma página web.
Fonte: o autor

Apesar de sua simplicidade, o código acima apresenta de forma concisa a estrutura básica de um documento HTML. Essa linguagem organiza os conteúdos da página na tela, mas sem aplicar nenhum tipo de estilização ou interatividade. Isto acontece porque o HTML tem apenas papel estrutural: sua responsabilidade é definir a disposição dos elementos na tela, independentemente do tamanho ou finalidade da página web.

Assim, para tornar um site visualmente atraente e interativo, o HTML precisa ser combinado com outras tecnologias, como o CSS, que define o estilo e a aparência dos elementos, e o JavaScript, que adiciona interatividade e funcionalidades dinâmicas.

3.1 – Entendendo a estrutura do código

A fim de melhorar nossa compreensão sobre HTML, vamos analisar a estrutura do código apresentado acima e entender melhor o papel de cada tag:

  • <!DOCTYPE html>: Declara que o documento segue a especificação do HTML5.
  • <html>: É a tag raiz que envolve todo o conteúdo de uma página HTML.
  • <head>: Contém metadados e configurações, como o título da página e informações de responsividade.
  • <title>: Define o título exibido na aba do navegador.
  • <body>: Contém os elementos visíveis da página.
  • <h1>: Representa o título principal da página.
  • <p>: Define parágrafos de texto.
  • <ul> e <li>: Criam listas de itens, úteis para organizar informações.
  • <a>: Define um link para outras páginas ou sites.

Apesar de simples, esse código representa a estrutura de uma página HTML . Revestidas por tags que identificam a linguagem do documento (<!DOCTYPE html> e <html>), essas páginas também tem um <head> e um <body>.

A tag <head> representa o cabeçalho da página onde estão informações pertinentes a configuração de sua estrutura, enquanto a tag< body> representa o corpo da página onde estão distribuídos os seus conteúdos.

Tanto dentro da tag<head> quanto da tag <body>, muitas outras tags podem ser inseridas conforme os conteúdos que serão exibidos na página. Inclusive, à medida que novas tags e atributos são adicionados, podemos criar páginas mais elaboradas e acrecentar funcionalidades que tornam a experiência de uso mais agradável.

Se você deseja conhecer outras tags do HTML e ver exemplos práticos de uso da linguagem, acesse o site da W3Schools e confira os conteúdos que tem por lá.

Conclusão

O HTML é uma tecnologia fundamental para a web, sendo responsável pela estruturação de todas as páginas que acessamos diariamente. Embora por si só não forneça estilização ou interatividade, quando combinado com CSS e JavaScript, permite a criação de sites dinâmicos e visualmente atraentes.

Desde que foi lançado em 1991, o HTML evoluiu junto às demais tecnologias, culminando no lançamento do HTML5. Esta versão trouxe melhorias significativas, tornando a experiência online mais acessível e interativa. Compreender o HTML é essencial para qualquer pessoa que deseja ingressar no desenvolvimento web, pois ele serve como a espinha dorsal da internet.

Para quem deseja aprender mais sobre programação, não deixe de clicar aqui e acessar a categoria destinada a esse assunto.

Espero que este conteúdo seja útil de alguma forma para você. Em caso de dúvidas, sugestões ou reclamações fique à vontade para entrar em contato.

O que é versionamento semântico? 

No desenvolvimento de software, manter um controle eficiente das versões é essencial para garantir a estabilidade do sistema e facilitar a manutenção e evolução do código. O versionamento semântico surge como um método padronizado para nomear e organizar versões de software de maneira clara e previsível.

Baseado em um sistema de numeração simples, dividido em três componentes, o versionamento semântico permite identificar facilmente o impacto das mudanças realizadas, ajudando equipes de desenvolvimento a gerenciar atualizações e a evitar problemas de compatibilidade.

Neste artigo, exploraremos o que é o versionamento semântico, como ele funciona, sua importância e sua relação com ferramentas como o Git. 

1 – O que é o versionamento semântico 

O desenvolvimento de software é um processo contínuo que ocorre em diferentes etapas e precisa ser devidamente controlado e organizado. O versionamento semântico (também chamado de SemVer, do inglês Semantic Versioning) é um sistema de numeração utilizado para identificar versões de software de maneira clara, organizada e previsível.  

O versionamento semântico surgiu para corrigir um problema conhecido como “dependency hell” (inferno das dependências). Esse problema ocorre quando diferentes bibliotecas ou pacotes de software dependem de versões específicas de outras bibliotecas ou pacotes, criando conflitos e grandes dificuldades na gestão dessas dependências.  

Isso pode levar, por exemplo, a situações em que a atualização de uma biblioteca quebra a compatibilidade com outras, que quando atualizadas podem gerar novas incompatibilidades. Este cenário exige grandes esforços de desenvolvimento para corrigir os problemas de compatibilidade entre as dependências. O resultado é um processo de desenvolvimento e manutenção do software extremamente complicado e custoso, impactando na qualidade das entregas e muitas vezes estourando cronogramas.  

O versionamento semântico ajuda a mitigar esse problema ao fornecer uma metodologia clara e previsível de identificar mudanças nas versões de um software, facilitando a compatibilidade e a integração entre diferentes componentes. Vamos entender como ele funciona: 

2 – Como funciona o versionamento semântico 

O versionamento semântico segue um formato numérico padrão, que possui a seguinte estrutura: 

Exemplo de padrão numérico de versionamento semântico.
Fonte: o autor

Esse padrão numérico é incrementado conforme atualizações são aplicadas no software e cada componente possui uma função específica: 

MAJOR (versão principal): 

Incrementado quando as mudanças implementadas geram incompatibilidades com a versão anterior. 

Exemplos: adição ou remoção de funcionalidades, refatoração do código, redesign de interfaces gráficas. 

MINOR (versão secundária): 

Incrementado quando novas funcionalidades são adicionadas, porém é mantida a compatibilidade com versões anteriores. 

Exemplo: adição ou remoção de uma nova funcionalidade. 

PATCH (correção): 

Incrementado quando há correções de bugs que não geram incompatibilidade do software com a versão anterior. 

Exemplo: correção de problemas de lógica e de processos executados pelo software. 

O versionamento é um processo contínuo que acompanha todo o ciclo de vida de um software. Pense na dinâmica de um projeto de desenvolvimento: após o lançamento da primeira versão de um determinado sistema ou aplicativo, atualizações ocorrerão com o passar do tempo: algumas versões trazem correções de bugs, outras trazem novas funcionalidades (ou remoção de funcionalidade depreciadas), enquanto outras trazem refatorações e redesign completos do software. 

É neste cenário que o versionamento semântico entra em cena, servindo como uma metodologia eficaz para controlar atualizações de software. Repare que cada atualização concluída pela equipe de desenvolvimento irá gerar um incremento numérico em sua versão (chamado de increment version) conforme o tipo desta atualização. 

Aplicar o versionamento semântico garante transparência no controle de versões de um software e facilita a comunicação entre os membros de uma equipe, sendo indispensável para alcançar o sucesso em projetos que trabalhamos no nosso dia a dia. 

3 – Exemplo de versionamento semântico 

Certamente, já deu para entender que o versionamento semântico é muito importante para o desenvolvimento de software. Para um melhor entendimento dessa técnica, vamos ver um exemplo simples e didático: 

0.1.0: Primeira versão experimental. (Representa o início do desenvolvimento do sistema)

0.2.0: Adição de uma funcionalidade. 

0.2.1: Correção de um bug. 

1.0.0: Primeira versão estável. (Representa que o software está pronto para uso e com funcionalidades bem definidas.)

1.1.0: Adição de nova funcionalidade.

1.1.1: Correção de bug. 

1.2.0: Remoção de funcionalidade depreciada. 

1.2.1: Correção de bug. 

2.0.0: Reformulação da API. (quebra a compatibilidade com versões anteriores e exige adaptações significativas por parte dos usuários.) 

O exemplo acima, apesar de simples nos ajuda a compreender como funciona o versionamento semântico. Observe como cada incremento na versão já indica o tipo de alteração e o texto que acompanha a numeração esclarece o impacto das mudanças implementadas. 

Esta prática facilita o trabalho das equipes de desenvolvimento, a gestão das atualizações de software pelos líderes e a aplicação destas atualizações nas máquinas dos usuários pelas equipes de suporte. 

4 – Relação entre Versionamento Semântico e Git 

O Git é um sistema de controle de versão distribuído amplamente utilizado no desenvolvimento de software. Ele permite que os desenvolvedores rastreiem mudanças no código-fonte, colaborem em projetos e revertam para versões anteriores quando necessário. O versionamento semântico e o Git são ferramentas complementares: 

  1. Controle de Versão: O Git possui a responsabilidade de rastrear todas as mudanças realizadas no código, enquanto o versionamento semântico fornece uma maneira estruturada de nomear cada versão gerada, indicando a natureza das mudanças (novas funcionalidades, correções de bugs, mudanças incompatíveis). 
  1. Tags e Releases: No Git, é possível criar tags para marcar pontos específicos na história do repositório, como lançamentos de novas versões. Utilizando versionamento semântico, essas tags podem ser nomeadas de forma consistente (por exemplo, v1.0.0, v1.1.0, v2.0.0), facilitando a identificação e o gerenciamento das versões. 
  1. Branches: O Git permite a criação de branches para o desenvolvimento paralelo. O versionamento semântico ajuda a manter a clareza sobre o estado de cada branch e as versões geradas nelas, especialmente quando se trata de branches de desenvolvimento de novas funcionalidades (branches feature) ou correções de bugs (branches hotfix). 

Ao combinar o Git e o versionamento semântico, conseguimos documentar as mudanças realizadas em um projeto, bem como obtemos um histórico claro e organizado dessas mudanças.  

Essas ferramentas trabalham juntas para proporcionar um fluxo de desenvolvimento mais transparente e eficiente, beneficiando tanto os desenvolvedores quanto os usuários finais, que passam a receber sistemas e aplicativos mais estáveis e bem documentados.

Se você ficou interessado em conhecer mais sobre Git, clique aqui para ler um artigo que escrevi sobre o assunto. 

Conclusão 

O versionamento semântico é uma prática indispensável para o desenvolvimento de software, proporcionando organização, eficiência, previsibilidade e transparência na gestão de versões. Ao adotar esse modelo, equipes de TI conseguem minimizar problemas de compatibilidade, facilitar a colaboração e garantir que usuários e clientes tenham acesso a versões estáveis e bem documentadas do software.  

Além disso, sua integração com ferramentas como o Git torna o controle de versões ainda mais eficiente. Compreender e aplicar o versionamento semântico é um passo fundamental para quem deseja desenvolver projetos de software de forma estruturada e profissional. 

Espero que este conteúdo seja útil de alguma forma para você. Em caso de dúvidas, sugestões ou reclamações fique à vontade para entrar em contato.