Ágil imagem spots com efeitos de foco

0

Pergunta

Eu tenho um desafio aqui!

Designer enviou este ligth árvore que tem alguns pontos de luz que passe o mouse deve exibir um menu link para uma página no site. Não só isso, em foco, uma sobreposição shuld ser ativado alterar o tom de todo o site (algum tipo de sobreposição de preto com reduzida opacidade)

O problema que estou enfrentando é que eu realmente não sei por onde mesmo de começar isto! Eu pensei que a implementação de algum tipo de mapa de imagem, mas então eu não sei como configurá-lo responsivo e é realmente difícil para mim pensar em uma solução para este desafio de design.

Como você pode ver nas imagens, a luz, a árvore tem que ser como tela de fundo do cabeçalho e os pontos deve ser posicionado sobre algumas partes específicas da árvore.

A ajuda será muito apreciada

enter image description here

enter image description here

css html responsive responsive-design
2021-11-23 23:31:58
1

Melhor resposta

1

Este poderia ser um ponto de partida para você. Contanto que você souber o seu tamanho de imagem, que no seu caso foi 914x913...você poderia simplesmente usar position: absolute; e pixels da esquerda, direita, superior, inferior, dependendo de onde você quer...e é só uma questão de medição (um pouco de tentativa e erro também). Veja o trecho de código...eu criei dois 'hotspots' para começar (destacado em vermelho). E a caixa que aparece quando você rollover está lá, você pode jogar com o posicionamento e, obviamente, o estilo é melhor do que uma caixa simples. Pelo jeito, a <span></span> é necessário apenas para permitir que o 'hotspot' para ser separado, caso contrário, o brilho vai fazer coisas estranhas com a sua imagem de fundo. Ah, e se você pretende ter este apoio a pequenos visores você terá que adicionar as consultas de mídia para cada ajustar a posição de cada ponto de acesso.

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no" />
  <title>Test</title>

  <style>
    body {
      font-family: sans-serif;
      color: white;
    }

    .container {
      background-image: url('https://i.stack.imgur.com/lzxlC.png');
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      display: flex;
      width: 914px;
      height: 913px;
      margin: 0 auto;
      position: relative;

    }


    /* SPOT 1  */
    .spot-1 {
      position: absolute;
      left: 323px;
      top: 148px;
    }

    .spot-1 span {
      border: 3px solid #FF6F6F;
      border-radius: 50px;
      height: 30px;
      width: 30px;
      display: flex;
      align-self: center;
    }

    .spot-1:hover span {
      box-shadow: 0 0 60px 30px #fff, 0 0 140px 90px #009EAB;
      animation: fadeIn 1s linear;
    }

    .box-1 {
      display: none;
    }

    .spot-1:hover .box-1 {
      display: flex;
      width: 80px;
      height: 25px;
      background: black;
      color: white;
      position: relative;
      left: 50px;
      padding: 12px;
      font-size: 10px;
    }




    /* SPOT 2  */
    .spot-2 {
      position: absolute;
      left: 515px;
      top: 163px;
    }

    .spot-2 span {
      border: 3px solid #FF3F3F;
      border-radius: 50px;
      height: 30px;
      width: 30px;
      display: flex;
      align-self: center;
    }

    .spot-2:hover span {
      box-shadow: 0 0 60px 30px #fff, 0 0 140px 90px #009EAB;
      animation: fadeIn 1s linear;
    }

    .box-2 {
      display: none;
    }

    .spot-2:hover .box-2 {
      display: flex;
      width: 80px;
      height: 25px;
      background: black;
      color: white;
      position: relative;
      left: 50px;
      padding: 12px;
      font-size: 10px;
    }


    @keyframes fadeIn {
      from {
        opacity: 0;
      }

      to {
        opacity: 1;
      }
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="spot-1"><span></span>
      <div class="box-1">HOWDY!</div>
    </div>

    <div class="spot-2"><span></span>
      <div class="box-2">HI</div>
    </div>

  </div>

</body>

</html>

2021-11-24 00:41:23

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................