SW Core
SW Core / CSS / Divider

Divider CSS

Uma linha para separar partes da página — cheia, tracejada, grossa, em pé ou com um texto no meio ("ou").

O que é

É a linha que separa um bloco do outro: o fim de uma seção, a divisão entre "Entrar com e-mail" e "Entrar com Google", o tracinho em pé entre "Perfil | Configurações | Sair". Você coloca sw-div numa tag <hr> e ela ganha a cor e o espaçamento do SW Core. Para mudar o jeito da linha, escreva uma palavra dentro do atributo: sw-div="dsh" (tracejada), sw-div="thk" (grossa), sw-div="v" (em pé) ou sw-div="txt" (com texto no meio).

É só CSS — não precisa de JavaScript. A cor da linha é um cinza calculado para aparecer bem no tema claro e no escuro. A linha já vem com um respiro de 16 px em cima e embaixo (ou dos lados, quando é em pé).

Quando usar

  • Separar seções de um texto longo, de um formulário ou de um card: <hr sw-div>.
  • Separação mais leve, que não "corta" a página: tracejada — <hr sw-div="dsh">.
  • Separação forte, no fim de um bloco importante: grossa — <hr sw-div="thk">.
  • Tela de login ("ou continue com"): linha com texto — <div sw-div="txt">ou</div>.
  • Itens lado a lado (menu do usuário, dados de contato numa linha): linha em pé — <hr sw-div="v">.

Comece aqui

  1. 1

    Coloque o SW Core no <head> da página (uma vez só, vale para todos os componentes). A divisória só precisa do CSS principal.

    <link rel="stylesheet" href="swcore/swcore.min.css">
  2. 2

    Escreva um <hr> com sw-div. Pronto: uma linha com respiro em cima e embaixo.

    Sobre a empresa


    Nossos serviços

    <p>Sobre a empresa</p>
    <hr sw-div>
    <p>Nossos serviços</p>
  3. 3

    Quer um texto no meio da linha? Troque o <hr> por uma <div> com sw-div="txt" e escreva o texto dentro.

    ou continue com
    <div sw-div="txt">ou continue com</div>

Todas as variações

Cada quadro abaixo é o componente de verdade, rodando. O código embaixo é exatamente o que está no quadro: copie e cole.

1. Linhas deitadas (horizontais)

Vão numa tag <hr> e ocupam a largura toda do espaço onde estão. dsh e thk podem ser usados juntos.


Padrão — linha fina e cheia <hr sw-div>

dsh — tracejada <hr sw-div="dsh">

thk — grossa (2 px) <hr sw-div="thk">

dsh + thk — tracejada e grossa <hr sw-div="dsh thk">

2. Com texto no meio

Vai numa <div> (não em <hr>, porque <hr> não aceita texto dentro). O texto fica pequeno, em maiúsculas e cinza, com uma linha de cada lado.

ou
txt — "ou" <div sw-div="txt">ou</div>
ou continue com
txt — frase curta <div sw-div="txt">ou continue com</div>
Dados de entrega
txt — título de seção <div sw-div="txt">Dados de entrega</div>
destaques
txt — com ícone <div sw-div="txt"><i class="swi-star"></i> destaques</div>

3. Linha em pé (vertical)

Para separar itens que estão um ao lado do outro. Precisa estar dentro de um bloco lado a lado (class="flx") — a linha estica até a altura dos itens.

v — entre links de um menu
<div class="flx alc">
  <a href="/perfil">Meu perfil</a>
  <hr sw-div="v">
  <a href="/config">Configurações</a>
  <hr sw-div="v">
  <a href="/sair">Sair</a>
</div>
(81) 99999-0000
contato@empresa.com.br
Recife – PE
v — entre dados de contato
<div class="flx alc">
  <span><i class="swi-phone"></i> (81) 99999-0000</span>
  <hr sw-div="v">
  <span><i class="swi-envelope"></i> contato@empresa.com.br</span>
  <hr sw-div="v">
  <span><i class="swi-map"></i> Recife – PE</span>
</div>

Tabela de opções

PalavraO que fazExemplo
Onde vai
<hr sw-div>Linha deitada, fina e cheia. É o padrão.<hr sw-div>
<div sw-div="txt">Linha com texto no meio — o texto vai dentro da div.<div sw-div="txt">ou</div>
Estilo da linha
(nenhum)Linha cheia de 1 px.<hr sw-div>
dshTracejada. Só funciona na linha deitada.<hr sw-div="dsh">
thkMais grossa (2 px). Só funciona na linha deitada.<hr sw-div="thk">
Direção
(nenhuma)Deitada, ocupa a largura toda. Respiro de 16 px em cima e embaixo.<hr sw-div>
vEm pé, entre itens lado a lado (dentro de class="flx"). Respiro de 16 px dos lados.<hr sw-div="v">
Texto
txtColoca o conteúdo da div no meio, com uma linha de cada lado.<div sw-div="txt">ou</div>
Cor própria (opcional)
--sw-div-cVariável de cor da linha. Defina no CSS da sua página para trocar a cor de todas as divisórias (ou só de um trecho)..rodape { --sw-div-c: #c9a227; }

Receitas prontas — usos reais

Situações que aparecem em quase todo site. Copie a que servir.

Tela de login: "ou entre com" Ao vivo
ou entre com
<button sw-btn="pri">Entrar com e-mail</button>
<div sw-div="txt">ou entre com</div>
<button sw-btn="out">Entrar com Google</button>
Separar blocos de um texto (página "Sobre") Ao vivo

Quem somos

Estúdio de design e sites em Recife, desde 2012.


O que fazemos

Sites, lojas virtuais e sistemas de gestão.

<h3>Quem somos</h3>
<p>Estúdio de design e sites em Recife, desde 2012.</p>
<hr sw-div>
<h3>O que fazemos</h3>
<p>Sites, lojas virtuais e sistemas de gestão.</p>
Resumo do pedido: tracejada entre itens, grossa antes do total Ao vivo
Camiseta básicaR$ 59,90

FreteR$ 15,00

TotalR$ 74,90
<div class="flx j-sb"><span>Camiseta básica</span><span>R$ 59,90</span></div>
<hr sw-div="dsh">
<div class="flx j-sb"><span>Frete</span><span>R$ 15,00</span></div>
<hr sw-div="thk">
<div class="flx j-sb"><strong>Total</strong><strong>R$ 74,90</strong></div>
Menu do usuário no topo do painel Ao vivo
<div class="flx alc j-en">
  <a href="/avisos"><i class="swi-bell"></i> Avisos</a>
  <hr sw-div="v">
  <a href="/conta"><i class="swi-user"></i> Minha conta</a>
  <hr sw-div="v">
  <a href="/sair"><i class="swi-log-out"></i> Sair</a>
</div>

Precisa de quê

  • swcore.min.css — a divisória.
  • swcore.compl.min.css — só se usar ícone swi-* junto do texto.

Cuidados — erros comuns

  • Texto dentro de <hr> não aparece: <hr> não aceita conteúdo. Para linha com texto use <div sw-div="txt">texto</div>.
  • A linha em pé (v) some se o pai não for um bloco lado a lado. Coloque os itens dentro de <div class="flx alc">.
  • A linha deitada dentro de um bloco lado a lado (flx) fica sem largura e desaparece. Ela precisa estar num bloco normal, um em cima do outro.
  • Para mudar a cor, não escreva style="border-color:…" em cada linha: defina --sw-div-c uma vez no CSS da página.

O que ele não faz

  • dsh e thk só valem para a linha deitada. Em v (em pé) e em txt (com texto) a linha continua cheia e fina.
  • Não tem cores prontas (pri, err…): a cor muda só pela variável --sw-div-c.