Compatibilidade: Todos os temas do Shopify (o design pode variar) .
O Multicolumn with Image Slider Viewer é um componente web versátil que combina um layout de várias colunas com um controle deslizante de imagem dinâmico. Ele permite que você apresente várias colunas de conteúdo junto com um controle deslizante de imagem interativo, melhorando o apelo visual e a experiência do usuário do seu site. Com opções personalizáveis e design responsivo, ele se integra perfeitamente ao seu site, fornecendo uma maneira envolvente e organizada de exibir vários tipos de informações.
Você pode abrir o controle deslizante pop-up clicando na imagem do controle deslizante de várias colunas. Estas imagens são links de arquivos da sua página de administração > Conteúdo > Arquivos.
Você pode verificar a loja de demonstração aqui . Senha: made4uo
O que você está comprando:
- Adicionar multicolunas com seção de visualizador de controle deslizante de imagem
- Adicione várias imagens de seus arquivos
O que torna nosso código melhor:
- Não usamos bibliotecas externas, com isso dito, nosso código não terá nenhum efeito mínimo no desempenho de velocidade do seu site
- Não deixamos nem adicionamos códigos para anunciar em nosso site
- Nosso código é compatível com dispositivos móveis
Quaisquer problemas relacionados ao código serão corrigidos sem custo adicional, excluindo solicitações de customização de código. Basta entrar em contato conosco em "Converse conosco". Estamos a apenas um botão de distância.
Para iniciar:
1. Na sua página de administração, vá para Loja online > Temas > Clique nos três pontos e em Editar código
2. Crie uma seção, arquivo líquido, e nomeie-o como quiser e, em seguida, substitua o código padrão pelo código abaixo. Certifique-se de SALVAR.
{ { 'custom-multicolumn.css' | URL_do_asset | folha_de_estilo } } { %- estilo -% } . seção - { { seção. id } } - preenchimento { preenchimento - topo : { { seção. configurações . preenchimento_top | vezes : 0,75 | redondo : 0 } } px ; preenchimento - inferior : { { seção. configurações . preenchimento_bottom | vezes : 0,75 | redondo : 0 } } px ; } @media screen e ( largura mínima : 750px ) { . seção - { { seção. id } } - preenchimento { preenchimento - topo : { { seção. configurações . padding_top } } px ; preenchimento - inferior : { { seção. configurações . padding_bottom } } px ; } } { %- estilo final -% } { %- líquido atribuir colunas_mobile_int = seção. configurações . colunas_mobile | mais : 0 atribuir show_mobile_slider = falso se seção. configurações . swipe_on_mobile e seção. blocos . tamanho > colunas_mobile_int atribuir show_mobile_slider = verdadeiro fim se -% } < div style = "--button-color: {{ section.settings.button_color }} ; --button-background: {{ section.settings.button_background }} " class = "custom-multicolumn color- {{ section.settings.color_scheme }} gradiente {% unless section.settings.background_style == 'none' and settings.text_boxes_border_thickness > 0 or settings.text_boxes_shadow_opacity > 0 %} background- {{ section.settings.background_style }} {% endunless %} {% if section.settings.title == blank %} sem título {% endif %} " > < div class = "seção de largura de página- {{ section.id }} -padding isolar" > { %- a menos que seção. configurações . título == em branco -% } < div class = "title-wrapper-with-link title-wrapper--self-padded-mobile title-wrapper--no-top-margin" > < h2 class = "title inline-richtext {{ section.settings.heading_size }} " > { { seção. configurações . título } } </ h2 > { % -se seção. configurações . button_label != em branco e show_mobile_slider -% } <a href = "{{section.settings.button_link }}" class = "link sublinhado-link grande-ocultar" > _ {{ section.settings.button_link }} _ _ _ _ { { - seção. configurações . rótulo_botão | escapar - } } </a> _ { %- fim se -% } </div> _ _ { %- sem fim -% } < div class = "slider-mobile-gutter" > < ul class = "custom-multicolumn-list contains-content-container grid grid-- {{ section.settings.columns_mobile }} -col-tablet-down grid-- {{ section.settings.columns_desktop }} -col-desktop {% if show_mobile_slider %} controle deslizante - grade móvel - peek {% endif %} " id = "Slider- {{ section.id }} " função = "lista" > { %- líquido atribuir proporção_mais alta = 0 para bloco na seção. blocos se bloquear. configurações . imagem . proporção_de_aspecto > proporção_mais alta atribuir proporção_mais alta = bloco. configurações . imagem . proporção da tela fim se fim para -% } { %- para bloco na seção. blocos -% } { %- atribuir coluna_vazia = '' -% } { % -se bloco. configurações . imagem == em branco e bloquear. configurações . título == em branco e bloquear. configurações . texto == em branco e bloquear. configurações . link_label == em branco -% } { %- atribuir coluna_vazia = ' lista-de-colunas-personalizadas__item--empty' -% } { %- fim se -% } < li id = "Slide- {{ section.id }} - {{ forloop.index }} " class = "custom-multicolumn-list__item grid__item {% if section.settings.swipe_on_mobile %} slider__slide {% endif %} {% if section.settings.column_alignment == 'center' %} center {% endif %} {{ empty_column }} " { { bloquear. shopify_atributos } } > < div class = "container de conteúdo de cartão multicoluna personalizado" > < imagem - visualizador class="image-viewer--box" > { % -se bloco. configurações . imagem ! = em branco -% } { % se seção. configurações . image_ratio == 'adaptar' ou seção. configurações . proporção_da_imagem == 'círculo' % } { % atribuir imagem_espaçada = true % } { % fim se % } < div class = "custom-multicolumn-card__image-wrapper custom-multicolumn-card__image-wrapper-- {{ section.settings.image_width }} -width {% if section.settings.image_width != 'full' or spaced_image %} custom -multicolumn-card-spacing {% endif %} " > < rótulo for = "multimídia- {{ block.id }} " class = "media media--mídia transparente-- {{ section.settings.image_ratio }} " { % se seção. configurações . image_ratio == 'adaptar' % } style = "preenchimento inferior: {{ 1 | divided_by: highest_ratio | times: 100 }} %;" { % fim se % } > { %- líquido atribuir número_de_colunas = seção. configurações . colunas_desktop atribuir number_of_columns_mobile = seção. configurações . colunas_mobile atribuir grid_space_desktop = number_of_columns | menos : 1 | vezes : configurações. espaçamento_grid_horizontal | mais : 100 | acrescentar : 'px' atribuir grid_space_tablet = number_of_columns_mobile | menos : 1 | vezes : configurações. espaçamento_grid_horizontal | mais : 100 | acrescentar : 'px' atribuir grid_space_mobile = number_of_columns_mobile | menos : 1 | vezes : configurações. espaçamento_grid_horizontal | dividido_por : 2 | mais : 30 | acrescentar : 'px' se seção. configurações . largura_da_imagem == 'metade' atribuir largura_da_imagem = 0,5 seção Elif. configurações . image_width == 'terceiro' atribuir largura_da_imagem = 0,33 outro atribuir largura_imagem = 1 fim se -% } { % tamanhos de captura % } ( largura mínima : { { configurações.largura_da_página } } px ) calc ( ( { { configurações.largura_da_página } } px - { { grid_space_desktop } } ) * { { largura_da_imagem } } / { { número_de_colunas } } ) , ( largura mínima : 990px ) calc ( ( 100vw - { { grid_space_desktop } } ) * { { image_width } } / { { number_of_columns } } ) , ( largura mínima : 750px ) calc ( ( 100vw - { { grid_space_tablet } } ) * { { image_width } } / { { number_of_columns_mobile } } ) , calc ( ( 100vw - { { grid_space_mobile } } ) * { { image_width } } / { { number_of_columns_mobile } } ) { % captura final % } { { bloquear. configurações . imagem | URL_da_imagem : largura : 3200 | imagem_tag : carregando : 'preguiçoso' , larguras : '50, 75, 100, 150, 200, 300, 400, 500, 750, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3200' , tamanhos : tamanhos , classe : 'cartão de múltiplas colunas personalizado__image' } } </ rótulo > < entrada tipo = "rádio" class = "multi-imagem--entrada" id = "multimídia- {{ block.id }} " nome = "multimídia- {{ section.id }} " > { % se bloco. configurações . multi_images_links ! = em branco % } < div class = "multimídia--container" > <div> _ _ < span data - input = "multi-media- {{ block.id }} " > ✕ </ span > { % atribuir multi_images = bloco. configurações . multi_imagens_links | tira_html | dividir : ',' % } < botão nome = "anterior" { { multi_imagens. tamanho } } { % se multi_images. tamanho < 2 % } desabilitado { % fim se % } > ❮ </ botão > <ul> _ { % para image_link em multi_images % } < li class = "multimídia--wrapper" > < img src = " {{ image_link }} " > </ li > { % fim para % } </ul> _ < botão nome = "próximo" { % se multi_images. tamanho < 2 % } desabilitado { % fim se % } > ❯ </ botão > </div> _ _ </div> _ _ { % fim se % } </div> _ _ { %- fim se -% } < div class = "custom-multicolumn-card__info" > { % -se bloco. configurações . título ! = em branco -% } < h3 class = "inline-richtext" > { { bloco. configurações . título } } </ h3 > { %- fim se -% } { % -se bloco. configurações . texto ! = em branco -% } < div class = "rte" > { { bloco. configurações . texto } } </ div > { %- fim se -% } { % -se bloco. configurações . link_label != em branco -% } < um class = "link animado-seta" { % se bloco. configurações . link == em branco % } role = "link" aria - desativado = "true" { % outro % } href = " {{ block.settings.link }} " { % fim se % } > { { - bloquear. configurações . link_label | escapar - } } < span class = "icon-wrap" >& nbsp ; { % render 'icon-arrow' % } </ span ></ a > { %- fim se -% } </div> _ _ </ imagem - visualizador > </div> _ _ </ li > { %- fim para -% } </ul> _ </div> _ _ < div class = "center {% if show_mobile_slider %} pequeno-ocultar médio-ocultar {% endif %} " > { % -se seção. configurações . rótulo_de_botão != em branco -% } < um class = "botão botão--primário" { % se seção. configurações . button_link == em branco % } role = "link" aria - desativado = "true" { % outro % } href = " {{ section.settings.button_link }} " { % fim se % } > { { seção. configurações . rótulo_botão | escapar } } </a> _ { %- fim se -% } </div> _ _ </div> _ _ </div> _ _ { % esquema % } { "name" : "Visualizador de imagens multicolunas" , "class" : "seção visualizador de imagens" , "tag" : "seção" , "desativado_on" : { "grupos" : [ "cabeçalho" , "rodapé" ] } , "configurações" : [ { "tipo" : "inline_richtext" , "id" : "título" , "default" : "Multicolunas" , "label" : "Multicoluna" } , { "tipo" : "selecionar" , "id" : "heading_size" , "opções" : [ { "valor" : "h2" , "rótulo" : "Pequeno" } , { "valor" : "h1" , "rótulo" : "Médio" } , { "valor" : "h0" , "rótulo" : "Grande" } ] , "padrão" : "h1" , "label" : "Tamanho do título" } , { "tipo" : "selecionar" , "id" : "largura_da_imagem" , "opções" : [ { "valor" : "terceiro" , "label" : "Um terço da largura da coluna" } , { "valor" : "metade" , "label" : "Meia largura da coluna" } , { "valor" : "completo" , "label" : "Largura total da coluna" } ] , "padrão" : "completo" , "label" : "Largura da imagem" } , { "tipo" : "selecionar" , "id" : "image_ratio" , "opções" : [ { "valor" : "adaptar" , "label" : "Adaptar à imagem" } , { "valor" : "retrato" , "rótulo" : "Retrato" } , { "valor" : "quadrado" , "rótulo" : "Quadrado" } , { "valor" : "círculo" , "rótulo" : "Círculo" } ] , "padrão" : "adaptar" , "label" : "Proporção da imagem" } , { "tipo" : "intervalo" , "id" : "colunas_desktop" , "min" : 1 , "máximo" : 6 , " passo 1 , "padrão" : 3 , "label" : "Número de colunas no desktop" } , { "tipo" : "selecionar" , "id" : "coluna_alignment" , "opções" : [ { "valor" : "esquerda" , "rótulo" : "Esquerda" } , { "valor" : "centro" , "rótulo" : "Centro" } ] , "padrão" : "esquerda" , "label" : "Alinhamento da coluna" } , { "tipo" : "selecionar" , "id" : "estilo_de_fundo" , "opções" : [ { "valor" : "nenhum" , "rótulo" : "Nenhum" } , { "valor" : "primário" , "label" : "Mostrar como plano de fundo da coluna" } ] , "padrão" : "primário" , "label" : "Fundo secundário" } , { "tipo" : "texto" , "id" : "button_label" , "default" : "Etiqueta do botão" , "label" : "Etiqueta do botão de seção" } , { "tipo" : "url" , "id" : "botão_link" , "label" : "Link do botão da seção" } , { "tipo" : "selecionar" , "id" : "esquema_cor" , "opções" : [ { "valor" : "acento-1" , "label" : "Acento 1" } , { "valor" : "acento-2" , "label" : "Acento 2" } , { "valor" : "plano de fundo-1" , "rótulo" : "Plano de fundo 1" } , { "valor" : "plano de fundo-2" , "rótulo" : "Fundo 2" } , { "valor" : "inverso" , "label" : "Inverso" } ] , "padrão" : "plano de fundo-1" , "label" : "Esquema de cores" } , { "tipo" : "cor" , "id" : "cor_botão" , "label" : "Cor do texto do botão" , "padrão" : "#fff" } , { "tipo" : "cor" , "id" : "botão_background" , "label" : "Fundo do botão" , "padrão" : "#000" } , { "tipo" : "cabeçalho" , "content" : "Layout móvel" } , { "tipo" : "selecionar" , "id" : "colunas_mobile" , "opções" : [ { "valor" : "1" , "rótulo" : "1 coluna" } , { "valor" : "2" , "rótulo" : "2 colunas" } ] , "padrão" : "1" , "label" : "Número de colunas no celular" } , { "tipo" : "cabeçalho" , "content" : "Preenchimento de seção" } , { "tipo" : "intervalo" , "id" : "padding_top" , "min" : 0 , "máximo" : 100 , " Passo 4 , "unidade" : "px" , "label" : "Preenchimento superior" , "padrão" : 36 } , { "tipo" : "intervalo" , "id" : "padding_bottom" , "min" : 0 , "máximo" : 100 , " Passo 4 , "unidade" : "px" , "label" : "Preenchimento inferior" , "padrão" : 36 } ] , "blocos" : [ { "tipo" : "coluna" , "nome" : "Coluna" , "configurações" : [ { "type" : "image_picker" , "id" : "imagem" , "rótulo" : "Imagem" } , { "tipo" : "inline_richtext" , "id" : "título" , "default" : "Coluna" , "rótulo" : "Título" } , { "type" : "richtext" , "id" : "texto" , "default" : "<p>Combine o texto com uma imagem para focar no produto, coleção ou postagem do blog escolhido. Adicione detalhes sobre disponibilidade, estilo ou até mesmo forneça uma avaliação.</p>" , "rótulo" : "Descrição" } , { "tipo" : "texto" , "id" : "link_label" , "label" : "Rótulo do link" } , { "tipo" : "url" , "id" : "link" , "rótulo" : "Link" } , { "type" : "richtext" , "id" : "multi_images_links" , "default" : "<p>https://cdn.shopify.com/s/files/1/0578/8903/0244/files/made4uo.gif?v=1681747466,https://cdn.shopify.com/ s/files/1/0578/8903/0244/files/made4uo.gif?v=1681747466</p>" , "label" : "Links de imagens dos arquivos do seu site" , "info" : "Separe os links com vírgula. Obtenha os links em [Admin > Conteúdo > Arquivos](https:\/\/admin.shopify.com)" } ] } ] , "predefinições" : [ { "name" : "Visualizador de imagens multicolunas" , "blocos" : [ { "tipo" : "coluna" } , { "tipo" : "coluna" } , { "tipo" : "coluna" } ] } ] } { % termina o esquema % } |
3. Vá para a pasta Asset e crie um arquivo CSS com o nome “ custom-multicolumn ” e cole o código abaixo. Certifique-se de SALVAR.
. abrir - imagem - visualizador principal { índice z : 5 ; } . abrir - imagem - visualizador . seção shopify : não ( . visualizador de imagem : tem ( visualizador de imagem. visualizador de imagem - aberto ) ) > * { índice z : -99999 ; posição : relativa ; } . multimídia -- contêiner { posição : fixa ; largura : 100 %; altura : 100 %; plano de fundo : rgba ( 0 , 0 , 0 , 0,9 ) ; índice z : 10 ; topo : 0 ; esquerda : 0 ; Mostrar nenhum ; justificar - conteúdo : centro ; alinhar - itens : centro ; } . multi - imagem - entrada : marcada + . multimídia -- contêiner { exibição : flexível ; } corpo. abrir - imagem - visualizador { estouro : oculto ; } . multimídia -- container ul { exibição : flexível ; largura : 100 %; altura : 100 %; estourar : rolar ; flex - direction : linha ; -ms - overflow - style : auto ; largura da barra de rolagem : auto ; preenchimento - inline - start : 0 ; margem - inline - start : 0 ; preenchimento - esquerda : 0 ; } . multimídia -- container ul ::- webkit - barra de rolagem { altura : 0,4rem ; largura : 0,4rem ; Mostrar nenhum ; } . multimídia -- container span { posição : absoluta ; superior : 5rem ; direita : 5rem ; largura : 50px ; altura : 50px ; exibição : flexível ; justificar - conteúdo : centro ; alinhar - itens : centro ; cor : var ( -botão - fundo ) ; tamanho da fonte : 40px ; } imagem - entrada do visualizador { Mostrar nenhum ; } . multimídia - botão de contêiner { largura : 50px ; altura : 50px ; margem : 1rem ; exibição : flexível ; justificar - conteúdo : centro ; alinhar - itens : centro ; borda : nenhuma ; box - shadow : nenhum ; cursor : ponteiro ; } . botão multimídia -- container : desabilitado { cursor : não permitido ; visibilidade : oculta ; } . multimídia - botão de contêiner { cor : var ( -cor do botão ) ; plano de fundo : var ( -botão - fundo ) ; } . botão multimídia -- container : hover { plano de fundo : #fffc; } . multimídia -- wrapper { largura : 100 %; altura : 100 %; exibição : bloco ; estouro : oculto ; margem : automática ; flex - encolher : 0 ; scroll - snap - align : start ; } . multimídia -- wrapper img { largura : 100 %; altura : automático ; largura máxima : 1000px ; altura máxima : 90vh ; ajuste de objeto : contém ; exibição : bloco ; margem : automática ; } . multimídia -- container div { exibição : flexível ; alinhar - itens : centro ; justificar - conteúdo : centro ; largura : 100 %; lacuna : 1rem ; } . personalizado - multicolunas. título { margem : 0 ; } . personalizado - multicolunas. sem título . título { Mostrar nenhum ; } . personalizado - multicolunas. título - wrapper - com - link { margem - topo : 0 ; } @media screen e ( largura máxima : 749px ) { . personalizado - multicolunas. título - wrapper - com - link { margem inferior : 3rem ; } . personalizado - multicolunas. largura da página { preenchimento - esquerda : 0 ; preenchimento - direita : 0 ; } } . custom - multicolumn - card__image - wrapper -- terceira - largura { largura : 33 %; } . custom - multicolumn - card__image - wrapper -- meia largura { largura : 50 %; } . personalizado - multicolunas - list__item. Centro . custom - multicolumn - card__image - wrapper : não ( . custom - multicolumn - card__image - wrapper -- largura total ) , . custom - multicolumn - list__item : somente - filho { margem - esquerda : automático ; margem - direita : automático ; } . personalizado - multicolunas. botão { margem - topo : 1,5rem ; } @media screen e ( largura mínima : 750px ) { . personalizado - multicolunas. botão { margem - topo : 4rem ; } } . personalizado - multicolunas - lista { margem - topo : 0 ; margem - inferior : 0 ; preenchimento : 0 ; } . custom - multicolumn - list__item : somente - filho { largura máxima : 72rem ; } . personalizado - multicolunas - list__item -- vazio { Mostrar nenhum ; } . custom - multicolumn : not ( .background - none ) . personalizado - multicolunas - cartão { plano de fundo : rgb ( var ( -color - background ) ) ; altura : 100 %; } . personalizado - multicolunas. plano de fundo - primário. personalizado - multicolunas - cartão { plano de fundo : rgb ( var ( -color - fundo ) ) Gradiente linear ( rgba ( var ( -- cor de primeiro plano ) , 0,04 ) , rgba ( var ( -color - foreground ) , 0,04 ) ) ; } . personalizado - multicolunas - lista h3 { altura da linha : calc ( 1 + 0.5 / max ( 1 , var ( -font - heading - scale ) ) ) ; } . personalizado - multicolunas - lista h3 , . personalizado - multicolunas - lista p { margem : 0 ; } . personalizado - multicolunas - cartão - espaçamento { preenchimento - topo : 2,5rem ; margem - esquerda : 2,5rem ; margem - direita : 2,5rem ; } . custom - multicolumn - card__info > : nth - child ( 2 ) { margem - topo : 1rem ; } . personalizado - multicolunas - list__item. Centro . mídia - adaptar , . custom - multicolumn - list__item . mídia - adaptar. personalizado - multicolunas - cartão__imagem { largura : automático ; } . personalizado - multicolunas - list__item. Centro . mídia -- adaptar img { esquerda : 50 %; transformar : traduzirX ( -50 % ) ; } @media screen e ( largura máxima : 749px ) { . personalizado - multicolunas - lista { margem : 0 ; largura : 100 %; } . custom - multicolumn - list : not ( .slider ) { preenchimento - esquerda : 1,5rem ; preenchimento - direita : 1,5rem ; } } @media screen e ( largura mínima : 750px ) { . lista personalizada - multicolunas . controle deslizante , . lista personalizada - multicolunas . grade -- 4 - coluna - área de trabalho { preenchimento : 0 ; } . personalizado - multicolunas - list__item , . grade - 4 - col - desktop. personalizado - multicolunas - list__item { preenchimento - inferior : 0 ; } . plano de fundo - nenhum. grade - 2 - col - tablet. personalizado - multicolunas - list__item { margem - topo : 4rem ; } } . plano de fundo - nenhum. personalizado - multicolunas - cartão - espaçamento { preenchimento : 0 ; margem : 0 ; } . personalizado - multicolunas - card__info { preenchimento : 2,5rem ; } . plano de fundo - nenhum. personalizado - multicolunas - card__info { preenchimento - topo : 0 ; preenchimento - esquerda : 0 ; preenchimento - direita : 0 ; } . plano de fundo - nenhum. controle deslizante . personalizado - multicolunas - card__info { preenchimento - inferior : 0 ; } . plano de fundo - nenhum . personalizado - multicolunas - cartão__imagem - wrapper + . personalizado - multicolunas - card__info { preenchimento - topo : 2,5rem ; } . plano de fundo - nenhum. controle deslizante . personalizado - multicolunas - card__info { preenchimento - esquerda : 0,5rem ; } . plano de fundo - nenhum . controle deslizante . personalizado - multicolunas - cartão__imagem - wrapper + . personalizado - multicolunas - card__info { preenchimento - esquerda : 1,5rem ; } . plano de fundo - nenhum . lista personalizada de múltiplas colunas : não ( .slider ) . Centro . personalizado - multicolunas - card__info { preenchimento - esquerda : 2,5rem ; preenchimento - direita : 2,5rem ; } @media screen e ( largura máxima : 749px ) { . plano de fundo - nenhum. controle deslizante . personalizado - multicolunas - card__info { preenchimento - inferior : 1rem ; } . personalizado - multicolunas. plano de fundo - nenhum. controle deslizante . controle deslizante -- celular { margem inferior : 0rem ; } } @media screen e ( largura mínima : 750px ) { . plano de fundo - nenhum. custom - multicolumn - card__image - wrapper { margem - esquerda : 1,5rem ; margem - direita : 1,5rem ; } . plano de fundo - nenhum. lista personalizada de múltiplas colunas . personalizado - multicolunas - card__info , . plano de fundo - nenhum . lista personalizada de múltiplas colunas : não ( .slider ) . Centro . personalizado - multicolunas - card__info { preenchimento - esquerda : 1,5rem ; preenchimento - direita : 1,5rem ; } } . personalizado - multicolunas - cartão { posição : relativa ; dimensionamento da caixa : caixa de borda ; } . personalizado - multicolunas - cartão > . custom - multicolumn - card__image - wrapper -- largura total : não ( . personalizado - multicolunas - cartão - espaçamento ) { borda - superior - esquerda - raio : calc ( var ( -caixas de texto - raio ) -var ( -caixas de texto - largura da borda ) ) ; borda - superior - direita - raio : calc ( var ( -caixas de texto - raio ) -var ( -caixas de texto - largura da borda ) ) ; estouro : oculto ; } . personalizado - multicolunas. plano de fundo - nenhum. personalizado - multicolunas - cartão { raio da borda : 0 ; } . custom - multicolumn - card__info . link { decoração de texto : nenhuma ; tamanho da fonte : herdar ; margem - topo : 1,5rem ; } . custom - multicolumn - card__info . ícone - embrulhar { margem - esquerda : 0,8rem ; espaço em branco : nowrap ; } @media screen e ( largura mínima : 990px ) { . personalizado - multicolunas - list__item -- vazio { display : item de lista ; } } |
4. Na mesma pasta, Asset, encontre theme.js ou global.js (seu arquivo javascript principal para o seu tema).
5. Adicione o código abaixo no final do arquivo e salve.
classe ImageViewer estende HTMLElement { construtor ( ) { super ( ) ; esse . controle deslizante = isto . querySelector ( "ul" ) ; esse . slideItems = isto . querySelectorAll ( "li" ) ; esse . botões = isto . querySelectorAll ( "botão" ) ; esse . closeSpan = isto . querySelector ( "span" ) ; se ( isto . closeSpan ) esse . fecharSpan . addEventListener ( " clique " , isto.closeModal.bind ( este ) ) ; esse . entradas = isto . querySelectorAll ( "entrada" ) ; esse . entradas . forEach ( ( e ) => e. addEventListener ( "clique" , isto . inputOpen . bind ( este ) ) ) ; esse . botões . forEach ( ( e ) => e. addEventListener ( " clique " , isto.botãoClicado.ligar ( este ) ) ) ; if ( este . controle deslizante ! = nulo ) { const e = novo ResizeObserver ( ( e ) => this.init ( ) ) ; e. observe ( este.slider ) ; _ esse . controle deslizante . addEventListener ( " rolar " , isto.atualizar.ligar ( este ) ) ; } } iniciar ( ) { esse . slideItems . clienteLargura = isto . slideItems . largura do cliente ; } atualizar ( ) { const e = Matemática. round ( this.slider.scrollLeft / this.slideItems [ 0 ] .clientWidth ) + 1 ; _ _ _ const t = isto . slideItems . comprimento ; t == e ? ( este . querySelector ( 'botão[nome="próximo"]' ) . desativado = verdadeiro ) : ( este . querySelector ( 'botão[nome="próximo"]' ) . desativado = falso ) ; e == 1 ? ( este . querySelector ( 'botão[nome="anterior"]' ) . desativado = verdadeiro ) : ( este.querySelector ( 'botão[nome="anterior"]' ) . desativado = falso ) ; } entradaAberta ( e ) { const t = e. alvo atual ; e ; t. verificado == verdadeiro ? documento. corpo . lista de classes . add ( "visualizador de imagens abertas" ) : documento. corpo . lista de classes . remover ( "visualizador de imagens abertas" ) ; esse . lista de classes . add ( "visualizador de imagem-aberto" ) ; } fecharModal ( e ) { documento. corpo . lista de classes . remover ( "visualizador de imagens abertas" ) ; const t = e. atualTarget . conjunto de dados . entrada ; consts = isto . querySelector ( ` #${t}`); S. verificado = falso ; esse . lista de classes . remover ( "visualizador de imagem-aberto" ) ; } botãoClicado ( e ) { const t = e. atualTarget . nome === "próximo" ? esse . controle deslizante . scrollLeft + this . slideItems [ 0 ] . largura do cliente : esse . controle deslizante . scrollLeft - isto . slideItems [ 0 ] . largura do cliente ; esse . controle deslizante . scrollTo ( { esquerda : t } ) ; } } elementos personalizados. define ( "visualizador de imagens" , ImageViewer ) ; |
6. Personalize seu tema e adicione o visualizador de imagens multicolunas seção.
Para que as imagens apareçam:
1. Na página Admin, vá para Conteúdo e depois Arquivos
2. Clique no link,
para obter os links das imagens.
3. Em seu editor de temas, encontre a visualização de imagem Multicolumn e clique no bloco ou coluna.
4. Coloque os links de imagem dentro dos links de imagem do arquivo do seu site e certifique-se de separá-los com vírgula (,) e sem espaço entre eles .
É isso ('',)
2 comentários
Hi Nevena Ljubinkovic You should have a hover. If the code is not working, please contact us using “Chat with Made4Uo” for prompt reply.
I don’t have the hover?!