Escolha dos leitores
Artigos populares
Guias de navegação para dois formulários.
Responsivo: não
Dependências: bootstrap.css
Navegadores compatíveis: Chrome, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
O seletor + seleciona o próximo elemento adjacente. Historicamente, isso tem sido legal para etiquetas de estilo. Com a grade CSS, um elemento pode estar próximo a outro na marcação, mas em algum lugar totalmente diferente na exibição. Esta caneta usa um seletor input:checked simples combinado com muitos + "s para estilizar diferentes páginas de um microsite imaginário.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Versão de rádio das guias. Requisitos: não depender de IDs específicos para CSS (o CSS não deve precisar saber IDs específicos), flexível para qualquer número de guias desconhecidas, acessíveis: como essas são caixas de seleção, as guias não podem ser tabuladas, é necessário usar as teclas de seta. .
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Guias verticais CSS puro.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: não
Dependências: -
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Guias de transição animadas com caixas de seleção.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Sem etiqueta, guias de cores CSS puras.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Guias somente CSS do Material Design.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Guias CSS3 puras responsivas da Sorax.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Clicar nos rótulos é efetivamente o mesmo que clicar nas caixas de entrada. As entradas de rádio estão ocultas com CSS. Quando uma rádio é selecionada, seus curiosos vizinhos de conteúdo da aba aparecem. É isso aí! A única desvantagem é que você não conseguirá estilizar a guia selecionada sem recorrer a algum JS, mas isso não deve ser um grande problema.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Responsivo: sim
Dependências: -
Apenas HTML e CSS.
Navegadores compatíveis: Chrome, Edge, Firefox, Opera, Safari
Olá, queridos leitores. Neste dia gelado faremos com você lindas abas com usando CSS e JQuery. Acontece que essas chamadas guias são muito úteis para o site como um todo, pois podem economizar significativamente espaço na página. Eles podem ser colocados em qualquer lugar, na barra lateral, ou diretamente no próprio conteúdo, o artigo.
Além disso, as abas que faremos terão um belo design e irão decorar significativamente o seu site. Que :-) lindo e útil, me parece uma rara coincidência. Além disso, são feitos apenas com a ajuda de , respectivamente: carregam rapidamente e não suportam nenhuma carga no servidor.
Isso é basicamente tudo, o principal é experimentar. Você pode adicionar imagens de fundo a essas guias, o que melhorará significativamente sua aparência, mas demorará mais para carregar.
Essas guias são suportadas por quase todos os navegadores, apenas em alguns elas parecerão um pouco diferentes, porque muitos ainda não suportam CSS3.
Só isso, espero que tenham gostado :-) Se algo não estiver claro para você, pergunte nos comentários. Vejo você em breve.
Guias na minha opinião são um dos melhores soluções para estruturação temática da informação, bem como para disponibilização compacta de conteúdo ao usuário em uma página. Hoje vamos descobrir como criar algo tão funcional sem usar Javascript usando apenas HTML e CSS3.
Para criar guias usaremos etiqueta entrada e seletor CSS :verificado. Primeiro de tudo, precisamos criar a marcação da página em HTML
Clicar nas caixas de rádio ativará as guias correspondentes. Primeiro entrada definir o atributo verificado = "verificado", isso abrirá a primeira guia por padrão. Esconderemos as próprias caixas de rádio, e para clicar nelas usaremos a tag rótulo. No bloco .tabs_cont Teremos blocos com abas onde será colocado o conteúdo (texto, imagens, etc.). Até agora tudo é simples.
Vamos passar para os estilos CSS
Guias (posição: relativa; margem: 0 automático; largura: 800px; ) rótulo .tabs (cor: #555; cursor: ponteiro; display: bloco; float: esquerda; largura: 150px; altura: 45px; altura da linha: 45px ; posição: topo relativo: 2px; alinhamento de texto: centro) .tabs input ( posição: absoluta; esquerda: -9999px; ) #tab_1:verificado ~ #tab_l1, #tab_2:verificado ~ #tab_l2, #tab_3:verificado ~ # tab_l3 ( plano de fundo: #fff; cor da borda: #fff; topo: 0; índice z: 3; ) .tabs_cont ( plano de fundo: #fff; posição: relativo; índice z: 2; altura: 230px; )
Aqui usamos estilos para criar uma tag rótulo elemento de bloco e definir suas dimensões, localização e aparência(você pode definir seus próprios estilos para o plano de fundo e bordas) conforme necessário, e também ocultar entrada está usando posicionamento absoluto.
Em seguida vem o mesmo seletor :verificado que mencionamos no início. Em palavras simples, se a caixa de rádio estiver com eu ia #tab_1 selecionado/marcado, os estilos serão aplicados ao bloco com eu ia #tab_l1 e assim por diante, por analogia. No nosso caso, aplicamos estilos ao título da guia selecionada. Bem, no final definimos estilos para o bloco com o conteúdo da aba.
Nossa próxima tarefa é garantir que nossas guias possam ser trocadas. Para implementar esta tarefa, os seguintes estilos:
Tabs_cont> div (posição: absoluto; esquerda: -9999px; topo: 0; opacidade: 0; -moz-transition: opacidade .5s facilidade de entrada; -webkit-transition: opacidade .5s facilidade de entrada; transição : opacidade .5s facilidade de entrada) #tab_1:checked ~ .tabs_cont #tab_c1, #tab_2:checked ~ .tabs_cont #tab_c2, #tab_3:checked ~ .tabs_cont #tab_c3 (posição: estática; esquerda: 0; opacidade : 1;
Primeiro, vamos ocultar todas as nossas guias. A solução mais simples é usar exibição: nenhum;, mas como precisamos de suavidade, caminhos fáceis não são para nós, então com a ajuda posição: absoluta; movemos nossos blocos além dos limites de visibilidade e também tornamos esse bloco completamente transparente usando a propriedade opacidade: 0; e gradualmente aumente esse valor para um. A propriedade nos ajudará a alcançar suavidade transição que é descrito a seguir. Então novamente usamos o seletor :verificado com a qual tornamos visíveis os blocos correspondentes às caixas de rádio selecionadas.
Isso é tudo! Ao trabalhar você mesmo com os estilos, você pode alterar a aparência de acordo com seu gosto.
Abaixo você pode baixar as fontes.
Há pouco tempo, analisamos a implementação de abas com conteúdo, sem conectar javascript, usando exclusivamente .
Hoje quero apresentar a vocês outra solução não menos interessante para formar bloco compacto guias construídas em CSS3 puro e usando elementos de layout adaptáveis. Assim como na primeira opção, nada supérfluo e complicado, o mínimo de código CSS, e você terá à sua disposição um bloco adaptativo com abas selecionáveis que se encaixarão perfeitamente em qualquer seção da página, seja uma mensagem separada, um lado coluna ou uma janela modal.
Que mudanças foram feitas em relação à primeira versão?
Em primeiro lugar, o bloco de guias tornou-se adaptativo, ou seja, ao visualizar em dispositivos móveis, o tamanho das abas muda dependendo do tamanho das telas dos dispositivos do usuário, o texto dos títulos é removido e apenas os ícones de fonte permanecem, indicando o significado do conteúdo de um ou de outro.
Os ícones de fontes são do , o acervo é muito rico e, além disso, totalmente gratuito. Você pode integrar ícones em qualquer projeto usando um conjunto de fontes baixado ou conectá-los ao seu arquivo de estilo CSS diretamente do site do desenvolvedor via @import usando a seguinte linha:
@importar url( "http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css") ; |
@importar url("http://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css");
No exemplo de demonstração, foi exatamente isso que eu fiz, então, olhando o código-fonte, você pode descobrir facilmente o que é o quê.
A estrutura das abas em HTML é bastante simples. Contêiner div básico, link
< div class = "tabs" > < input id= "tab1" type= "radio" name= "tabs" checked> < label for = "tab1" title= "Guia 1" >Guia 1 label> < input id= "tab2" type= "radio" name= "tabs" > < label for = "tab2" title= "Guia 2" >Guia 2 label> < input id= "tab3" type= "radio" name= "tabs" > < label for = "tab3" title= "Guia 3" >Guia 3 label> < input id= "tab4" type= "radio" name= "tabs" > < label for = "tab4" title= "Guia 4" >Guia 4 label> < section id= "content-tab1" > < p> p> section> < section id= "content-tab2" > < p> p> section> < section id= "content-tab3" > < p>Poste qualquer conteúdo aqui.... p> section> < section id= "content-tab4" > < p>Poste qualquer conteúdo aqui.... p> section> div> |
Para organizar os blocos de conteúdo usei a tag .
A troca de abas ocorre através da interação do atributo verificado na tag e a pseudoclasse:checked , fortemente vinculada por meio de identificadores em CSS. É no processamento deste método que o velho e famoso freio ao progresso tropeça Internet Explorer 8, a partir da versão 9 tudo funciona da melhor forma.
Sem problemas chegamos à parte mais interessante, estilizar nossas abas usando a magia do CSS. Aqui as coisas são ainda mais simples, não adianta descrever especificamente cada propriedade e parâmetros, escrevi algumas explicações no código fonte, então acho que não será difícil descobrir o que vai onde e por que, mas se você tiver dúvidas ou encontrar um erro, escreva nos comentários, com certeza responderei e ajudarei.
/* Contêiner de abas básico */. guias (largura mínima: 320px; largura máxima: 800px; preenchimento: 0px; margem: 0 automático;) /* Estiliza as seções de conteúdo */. abas> seção ( display: nenhum; preenchimento: 15px; fundo: #fff; borda: 1px sólido #ddd; ) . guias> seção> p (margem: 0 0 5px; altura da linha: 1,5; cor: #383838; /* adiciona animação */- webkit- animação- duração: 1s; animação – duração: 1s;- webkit-animação-preenchimento-modo: ambos; modo de preenchimento de animação: ambos;- webkit- animação- nome: fadeIn; nome da animação: fadeIn;) /* Descreva a animação da propriedade opacity */@- webkit- keyframes fadeIn (de (opacidade: 0 ; ) para (opacidade: 1 ; ) ) @ quadros-chave fadeIn (de (opacidade: 0 ; ) para (opacidade: 1 ; ) ) /* Ocultar caixas de seleção */. guias> entrada (exibição: nenhum; posição: absoluta;) /* Estilos de troca de abas */. tabs> label ( display: inline- block; margin: 0 0 - 1px; padding: 15px 25px; font-weight: 600; text-align: center; color: #aaa; border: 0px solid #ddd; border-width: 1px 1px 1px 1px fundo: #f1f1f1; raio da borda: 3px 3px 0 0 ; /* Ícones de fonte do Font Awesome em formato Unicode */. guias> rótulo: antes ( font- family: fontawesome; font-weight: normal; margin- right: 10px; ) . guias> rótulo[ for *= "1" ]: antes (conteúdo: " \f 19a"; } ;). guias> rótulo[ for *= "2" ]: antes (conteúdo: " \f 17a"; ). guias> rótulo[ for *= "3" ]: antes (conteúdo: " \f 13b"; /* Remove texto dos switches * e deixa ícones em telas pequenas */@media screen e (largura máxima: 680px) ( . tabs> label ( font-size: 0 ; ) . tabs> label: before ( margin: 0 ; font-size: 18px; ) ) /* Altera o preenchimento * dos switches para telas pequenas */@media screen e (largura máxima: 400px) ( . tabs> label ( padding: 15px; ) ) |
/* Contêiner de guias básico */ .tabs ( min-width: 320px; max-width: 800px; padding: 0px; margin: 0 auto; ) /* Estilos de seção de conteúdo */ .tabs>section ( display: none; padding : 15px; fundo: #fff; borda: 1px sólido #ddd; ) .tabs>section>p (margem: 0 0 5px; altura da linha: 1,5; cor: #383838; /* anexa a animação */ -webkit-animation -duração: 1s; duração da animação: 1s; -webkit-animation-fill-mode: ambos; -webkit-animation-name: propriedades de opacidade */ @-webkit-keyframes fadeIn (de (opacity: 0; ) para ( opacity: 1; ) ) @keyframes fadeIn ( from ( opacity: 0; ) to ( opacity: 1; ) ) /* Ocultando as caixas de seleção * / .tabs>input ( display: none; position: absoluto; ) /* Estilos de opções de guia */ .tabs>label ( display: inline-block; margin: 0 0 -1px; padding: 15px 25px; font-weight: 600; text-align: center; border: 0px solid #ddd; border-width : 1px 1px 1px;
Você pode desenhar as abas() da maneira que quiser, tudo no exemplo é apenas um exemplo, minha visão momentânea do produto, nada mais. Você pode descobrir os valores Unicode dos ícones de fonte necessários no site do desenvolvedor, para isso, basta clicar no ícone selecionado e copiar o código digital emitido, algo assim: \f13b .
Observe que ao reduzir o tamanho da janela do navegador, as abas se ajustam automaticamente ao tamanho atual até um determinado valor (no exemplo 680px), após este valor os títulos de texto das abas desaparecem, deixando os ícones. Isso garante a máxima compactação de todo o bloco de abas; resta apenas escolher os ícones corretos que correspondam ao significado do conteúdo apresentado dentro das abas.
Assista a um exemplo ao vivo de como as guias funcionam, baixe os fontes, experimente os parâmetros e crie, crie, crie...
Se você está cansado de trabalhar com modelos em inglês e sonha em usar modelos em russo, com certeza ficará feliz com ótimas notícias. Os mesmos apareceram no mercado TemplateMonster soluções prontas, que você precisa. Sim, sim, no site agora você encontra os melhores. Modelos localizados são exatamente o que você precisa se quiser construir seu projeto online em um período mínimo de tempo. Além dos textos dos templates terem sido escritos manualmente, eles contam com todas as ferramentas necessárias para a criação de um site profissional.
Atenciosamente, Andrey
Na continuação do post anterior sobre elementos de seleção de estilo, gostaria de dizer como fazer isso completamente guias adaptáveis sem usando javascript , posicionamento absoluto e hacks de links.
Para começar, gostaria de dizer que não estou defendendo o abandono do javascript em favor do CSS, apenas abaixo será apresentada apenas uma das formas de implementação de abas. Existem muitas situações em que essa abordagem não combina com você e em que você não pode viver sem JS, mas não é isso agora.
Vamos entender o que queremos ver como resultado do trabalho e quais requisitos apresentamos para isso:
Visualmente deve ser algo assim:
Antes de mostrar sua opção abas sem JS, gostaria de falar sobre algumas opções de implementação que encontrei no processo de resolução deste problema.
A pessoa que criou esse método claramente queria zombar dos usuários ou é um dos visitantes do Reddit que criou aqueles controles de volume muito “convenientes”. Essa abordagem me deixa nervoso.
A essência do método é a seguinte:
Os links são usados como cabeçalhos (os próprios botões) das abas, no atributo href, que contém o id da aba correspondente - uma div ou qualquer outro elemento. A guia ativa é selecionada usando a pseudo-class:target .
Funciona assim:
Como você deve ter notado, temos alguns problemas ao usar este método:
Tiramos uma conclusão justificada: este método não é adequado para nós, pois não irá satisfazer a maioria dos requisitos. A implementação é terrível e eu não recomendaria usá-la.
Este método criando guias sem JavaScript já é mais prático, embora também apresente alguns problemas de aplicação. A essência do método é a seguinte: os elementos checkbox e label são usados para títulos de guias e, usando a pseudoclasse:checked e outro elemento div, podemos mostrar o conteúdo apenas da guia ativa e ocultar todas as outras:
Entrada do wrapper de guia: verificado + rótulo + .tab-item (display: bloco;)
Entrada do wrapper da guia: verificado + rótulo + . tab-item (exibição: bloco;) |
Veja como funciona:
Como você deve ter notado, neste exemplo estamos usando position: absoluto; para colocar os títulos das guias na parte superior e o conteúdo das guias na parte inferior. Isso cria certos problemas:
Claro que em alguns casos este método pode ser usado, por exemplo, quando você sabe antecipadamente a quantidade de abas e a quantidade de conteúdo dentro delas. Mas procuramos uma solução universal, pelo que esta abordagem não é aplicável no nosso caso.
A terceira opção, que também é a solução, é uma modificação do segundo método. Funciona exatamente da mesma forma, mas não usaremos posicionamento absoluto ou propriedade float para os títulos.
EM este método Usamos o flexbox agora na moda para colocar guias e seu conteúdo. A beleza do flexbox aqui é que podemos designar quais elementos são exibidos primeiro e quais no final. Isso pode ser feito usando a propriedade order: 1; , cujo padrão é zero.
A adaptabilidade das abas também é alcançada através da propriedade flex flex-grow: 1; , que permite que as guias se estendam por toda a largura do conteúdo, para que não precisemos nos preocupar em exibir um número diferente de guias. Também podemos colocar conteúdo de qualquer tamanho diferente dentro de cada guia, isso não afetará a exibição do conteúdo depois delas.
Essa abordagem funciona em todos os navegadores modernos, inclusive os móveis. Das propriedades incomuns para muitos, apenas o Flexbox é usado e há muito tempo é amplamente suportado. EM Navegadores FireFox, Chrome, Safari e Opera, não encontrei problemas com o funcionamento das abas.
Você pode verificar essa abordagem no jsfiddle ou em seus próprios projetos. Eu ficaria feliz em ver outras propostas de soluções para este problema nos comentários.
Artigos relacionados: | |
Driver de áudio HD Realtek
Realtek HD Manager é um programa instalado com... Limpando seu computador de lixo
Olá amigos. Neste tutorial vou mostrar como limpar seu computador...
Instruções para instalar e usar o disco Yandex e o programa de bônus para capturas de tela |