Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

angela_melloo

Passar mouse no menu e exibir submenus - Trabalho escolar.

Recommended Posts

Estou com problema em fazer os sub-menus aparecerem quando o mouse passar em cima do menu!

 

---HTML----

		<ul class="menu-itens">
                    <li>
                        <a href="#" title="Gizmodo - Especiais" data-menu-hover="1">Especiais</a>
                    </li>
                    <li>
                        <a href="#" title="Gizmodo - Galerias" data-menu-hover="2">GALERIAS</a>
                    </li>
                    <li>
                        <a href="#" title="Gizmodo - Reviews" data-menu-hover="3">Reviews</a>
                    </li>
                    <li>
                        <a href="#" title="Gizmodo - Hands-on" data-menu-hover="4">Hands-on</a>
                    </li>
                    <li>
                        <a href="#" title="Gizmodo - Games" data-menu-hover="5">Games</a>
                    </li>

 		</ul>
		<div id="menu-hover-1" class="menu-hover no-menu">
                        <div class="arrow-top"></div>            
                        <div class="submenu-chamada">
                            <a class="thumb" href="#">
                                <img src="http://gizmodo.uol.com.br/wp-content/blogs.dir/8/files/2017/05/teclado-1-540x305.jpg">
                            </a>
                            <h3>
                                <a href="#">Loucos por teclas: dentro do maravilhoso mundo dos fanáticos por teclados</a>
                            </h3>
                        </div>
                        <div class="submenu-chamada">
                            <a class="thumb" href="#">
                                <img src="http://gizmodo.uol.com.br/wp-content/blogs.dir/8/files/2017/05/hacker-ransomware-540x305.jpg">
                            </a>
                            <h3>
                                <a href="#">[Giz Explica] O que é o ransomware e como se proteger dele</a>
                            </h3>
                        </div>
                        <div class="submenu-chamada">
                            <a class="thumb" href="#">
                                <img src="http://gizmodo.uol.com.br/wp-content/blogs.dir/8/files/2017/04/joao-doria-prefeito-540x305.jpg">
                            </a>
                            <h3>
                                <a href="#">Os políticos estão abusando nos pedidos de identificação de usuários de redes sociais</a>
                            </h3>
                        </div>
                        <div class="submenu-chamada">
                            <a class="thumb" href="#">
                                <img src="http://gizmodo.uol.com.br/wp-content/blogs.dir/8/files/2017/03/humanos-marte-540x305.jpg">
                            </a>
                            <h3>
                                <a href="#">Os humanos precisarão modificar seus corpos para sobreviver em Marte?</a>
                            </h3>
                        </div>
                        <div class="veja-todas">
                            <a href="#" title=""> VEJA TODAS</a>
                        </div>
		</div>

---CSS----

#menu-hover-1{
    top: 137px;
    left: 0px; 
    display:block;
}
.menu-hover.no-menu {
    width: 92%;
    padding: 30px 4%;
}
.menu-hover {
    color: #FFF;
    background: #064360;
    border-bottom: 2px solid #FFF;
    box-shadow: 0 5px 20px rgba(0,0,0,.5);
}
.menu-hover {
    display:none;
    position: fixed;
    height: 240px;
    z-index: 21000;
    margin: 0 auto;
}
.arrow-top {
    left: 602.688px;
}
.menu-hover .arrow-top {
    position: absolute;
    top: -10px;
    width: 125px;
    height: 10px;
    overflow: hidden;
    background: url(seta-submenu.png) left bottom no-repeat;
    cursor: pointer;
}
.menu-hover.no-menu .submenu-chamada {
    width: 20%;
}
.menu-hover .submenu-chamada {
    float: left;
    width: 26%;
    margin-right: 5%;
    margin-bottom: 35px;
    line-height: 14px;
}
.menu-hover .submenu-chamada .thumb {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    box-shadow: 0 0 3px #000;
    max-height: 134px;
    overflow: hidden;
}
.menu-hover .submenu-chamada h3 {
    text-align: center;
}
.menu-hover .submenu-chamada h3 a, .menu-hover.no-menu .submenu-chamada h3 a {
    font-size: 13px;
    color: #FFF!important;
    font-family: 'Roboto',serif;
    font-weight: 600;
}
.menu-hover .submenu-chamada h3 a {
    text-decoration: none;
}
.menu-hover.no-menu .submenu-chamada {
    width: 20%;
}
.menu-hover .submenu-chamada {
    float: left;
    width: 26%;
    margin-right: 5%;
    margin-bottom: 35px;
    line-height: 14px;
}
.menu-hover .submenu-chamada .thumb {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    box-shadow: 0 0 3px #000;
    max-height: 134px;
    overflow: hidden;
}
.menu-hover .submenu-chamada .thumb img {
    display: block;
    width: 100%;
    height: auto;
}
.menu-hover .submenu-chamada h3 {
    text-align: center;
}
.menu-hover .submenu-chamada h3 a, .menu-hover.no-menu .submenu-chamada h3 a {
    font-size: 13px;
    color: #FFF!important;
    font-family: 'Roboto',serif;
    font-weight: 600;
}
.menu-hover .submenu-chamada h3 a {
    text-decoration: none;
}

 

 

 

O que estou errando, ou o que está faltando? :sweat: 

(obs: é um trabalho escolar, clonar um site.)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, mas não entendi qual é o sub-menu. Joguei seu código no jsfiddle para visualizar melhor: https://jsfiddle.net/nh9vjuo3/1/

 

Seria a parte azul? Conforme passa o mouse nos links da lista, você quer mudar os artigos da parte azul?

Você pode usar JS ou alguma biblioteca nesse trabalho, ou seria apenas HTML/CSS? jQuery? Bootstrap?

 

Eu procuraria pelos termos "abas" / "tabs". Geralmente é exatamente o que você quer, mas a partir do evento do clique, e não do hover. Bastaria adaptar...

 

https://www.youtube.com/results?search_query=abas+css (tem muito material)

Esse tutorial é um bom ponto de partida: https://tympanus.net/codrops/2012/04/12/animated-content-tabs-with-css3/

Aqui também tem outro exemplo: https://www.cssscript.com/pure-css3-tab-effects/

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, Matheus Tavares disse:

Desculpe, mas não entendi qual é o sub-menu. Joguei seu código no jsfiddle para visualizar melhor: https://jsfiddle.net/nh9vjuo3/1/

 

Seria a parte azul? Conforme passa o mouse nos links da lista, você quer mudar os artigos da parte azul?

Você pode usar JS ou alguma biblioteca nesse trabalho, ou seria apenas HTML/CSS? jQuery? Bootstrap?

 

Eu procuraria pelos termos "abas" / "tabs". Geralmente é exatamente o que você quer, mas a partir do evento do clique, e não do hover. Bastaria adaptar...

 

https://www.youtube.com/results?search_query=abas+css (tem muito material)

Esse tutorial é um bom ponto de partida: https://tympanus.net/codrops/2012/04/12/animated-content-tabs-with-css3/

Aqui também tem outro exemplo: https://www.cssscript.com/pure-css3-tab-effects/

Sim, essa parte azul. usei o display:none; e no :hover display: block; e não dá certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também não entendi o que é o que para exibir mediante evento hover:

Se for .menu-itens

ul.menu-itens:hover > li {
  display: block
}

Ou seja quando o elemento UL que tenha a class menu-itens receber event hover vai fazer que seu conteúdo interno que contenha a tag LI receba a propriedade block.

 

Se for #menu-hover-1

#menu-hover-1:hover > .submenu-chamada {
    display: block
}

Ou seja quando elemento DIV que seja identificado por menu-hover-1 receber event hover vai fazer que seu conteúdo interno que seja DIV.submenu-chamada receba a propriedade block.

 

Não sei se compreende mas a sintaxe é simples:

Elemento pai é o elemento que possua algum conteúdo interno, e o filho é aquele que está dentro do elemento pai.

Assim sendo podemos manipular os filhos de acordo com os eventos do elemento pai ou seja tem que existir um vínculo entre eles para poder fazer essa manipulação.

<style>
   div {min-height: 200px}
   .elemento-pai {width: 500px; padding: 20px; background-color: red}
   .elemento-filho {width: 50%; margin: 1%; background-color: green}
   
   .elemento-pai:hover > .elemento-filho {background: blue}
</style>

<div class="elemento-pai">
    <div class="elemento-filho"></div>
    <div class="elemento-filho"></div>
</div>

 

Além disso é possível manipular elementos não vinculados, mas isso necessita de javascript como o Matheus já comentou.

 

Só mais uma coisa, antes de exibir por display: block é necessário que o elemento esteja oculto por display: none.

E o CSS apresentado contém talvez umas 100 linhas, elemento sendo repassado por elemento class sendo repassado por class. Dar para obter o mesmo resultado de layout com menos de 30 linhas, isso sem minimizar o css, porque do jeito que fez esta muito bagunçado, a maior parte do que foi feito nem precisava existir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
    • Por Felipe Medeiros
      Bom, criei um tema filho e o que aprendi é que para alterar qualquer coisa do tema filho eu preciso copiar o arquivo do tema pai o colocar dentro da pasta do tema filho.
       
      No meu caso, estou usando o tema "Astra" bem famosinho. O arquivo css que quero modificar não está dentro da pasta do tema pai, está em "wp-content/uploads/uag-plugin/assets/0/uag-css-10.css" sendo que o diretorio do tema pai é "wp-content/themes/Astra"
       
      O problema é o seguinte, preciso modificar a barra de pesquisa da pagina inicial, porem o inspetor de elementos do chrome ta acusando que esse arquivo é o responsavel por estilizar a barra de pesquisa. Será que isso tem a ver com "Cache de objetos", eu sei que o plugin liteSpeed Cache, AMP, Rank Math, todos eles tem essas paradas de criar arquivos css e js para tornar o site mais rapido.
    • Por joeythai
      Boa tarde pessoal,
       
      Eu criei um formulário em que tenho 3 interações: evento click, change e uma chamada ajax. No evento on change ("select#removal_table_from" )eu faço uma chamada ajax onde eu passo como parametro o id do item selecionado e construo uma tabela dinamica com o próprio javascript, após isto, tenho um input em que o usuario coloca um valor de percentual para que eu possa preencher em 3 colunas da tabela que foi criada dinamicamente: moto_atualizado, carro_atualizado e caminhao_atualizado, até aí tudo bem, o codigo está fazendo isso, porém, como a tabela é criada dinamicamente eu preciso de alguma forma enviar o arrayData para meu backend mas quando faço o calculo dentro do loop apos resposta do meu ajax, os valores desses 3 campos chegam como null, não sei se é possível fazer o que pretendo ou se é ainda não sei como faz
       
      <code>
           $(document).ready(function (event) {   let arrayData = []; let percentage; let removal_vehicle; let removal_motorcycle; let removal_tuck; let apply_removal = $('#apply_removal');   // apply_removal.on('click', function () { // percentage = $('#percentage').val();   // $('.table-body tr').each(function () {   // let veiculo = $(this).find('.veiculo').text(); // let moto = $(this).find('.moto').text(); // let caminhao = $(this).find('.caminhao').text();   // let removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; // let removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; // let removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100;   // arrayData.push({ // removal_vehicle, // removal_motorcycle, // removal_tuck // })   // $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); // $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); // $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2)); // }); // });   apply_removal.on('click', function () { percentage = $('#percentage').val();   $('.table-body tr').each(function () {   let veiculo = $(this).find('.veiculo').text(); let moto = $(this).find('.moto').text(); let caminhao = $(this).find('.caminhao').text();   removal_vehicle = parseFloat(veiculo) + (parseFloat(veiculo) * parseFloat(percentage)) / 100; removal_motorcycle = parseFloat(moto) + (parseFloat(moto) * parseFloat(percentage)) / 100; removal_tuck = parseFloat(caminhao) + (parseFloat(caminhao) * parseFloat(percentage)) / 100;   arrayData.push({ removal_vehicle, removal_motorcycle, removal_tuck })   $(this).find('.veiculo_atualizado').val(removal_vehicle.toFixed(2)); $(this).find('.moto_atualizado').val(removal_motorcycle.toFixed(2)); $(this).find('.caminhao_atualizado').val(removal_tuck.toFixed(2));     console.log('Removal Vehicle:', removal_vehicle); console.log('Removal Motorcycle:', removal_motorcycle); console.log('Removal Truck:', removal_tuck); }); });   $('select#removal_table_from').on('change', function (e) { let table_id = $(this).val(); let action = route('removal.removal-values.show', table_id);   $.ajax({ type: "GET", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },   success: function (data) { $('.table-body').empty();   for (let i = 0; i < data.length; i++) { let carro = parseFloat(data[i].CARRO); let moto = parseFloat(data[i].MOTO); let caminhao = parseFloat(data[i].CAMINHAO); let distancia = data[i].DISTANCIA; let origem = data[i].ORIGEM; let destino = data[i].DESTINO; let localidadeOrigem = data[i].LocalidadeOrigem_ID; let localidadeDestino = data[i].LocalidadeDestino_ID;   let newRow = '<tr class="removal-row">' + '<td class="align-middle">' + '<div class="row">' + '<div class="col-1">' + '<span class="font-weight-bold">Origem</span><br>' + '<span class="origem">' + origem + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Destino</span><br>' + '<span class="destino">' + destino + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">KM</span><br>' + '<span class="km">' + distancia + '</span>' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Veículo</span><br>' + '<span class="veiculo">' + carro + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Veículo Atualizado</span><br>' + '<input type="text" class="veiculo_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Moto</span><br>' + '<span class="moto">' + moto + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Moto Atualizado</span><br>' + '<input type="text" class="moto_atualizado">' + '</div>' + '<div class="col-1">' + '<span class="font-weight-bold">Caminhão</span><br>' + '<span class="caminhao">' + caminhao + '</span>' + '</div>' + '<div class="col-2">' + '<span class="font-weight-bold">Caminhão Atualizado</span><br>' + '<input type="text" class="caminhao_atualizado">' + '</div>' + '</div>' + '</div>' + '</td>' + '</tr>';   $('.table-body').append(newRow); //let row = $('.removal-row:last');   // Calcula o valor atualizado e define nos campos diretamente // let veiculo_atualizado = carro + (carro * percentage) / 100; // let moto_atualizado = moto + (moto * percentage) / 100; // let caminhao_atualizado = caminhao + (caminhao * percentage) / 100; // console.log('PORCENTS: ', percentage); //console.log('Veiculo Atualizado:', veiculo_atualizado, 'Moto Atualizado:', moto_atualizado, 'Caminhao Atualizado:', caminhao_atualizado);   // Define os valores diretamente nos campos da nova linha // row.find('.veiculo_atualizado').val(veiculo_atualizado.toFixed(2)); // row.find('.moto_atualizado').val(moto_atualizado.toFixed(2)); // row.find('.caminhao_atualizado').val(caminhao_atualizado.toFixed(2));   arrayData.push({ carro, moto, caminhao, distancia, origem, destino, localidadeOrigem, localidadeDestino, removal_vehicle, removal_motorcycle, removal_tuck }); }   $('#copy_data_table').val(JSON.stringify(arrayData)); }   }); });   //javascript para o formulario de cadastro // $(document).ready(function (event) { $('#uf').change(function () { let code_city = $(this).val(); let deposit = localStorage.getItem('selected_deposit_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city },   success: function (data) {   $('#city').empty(); $('#deposit').empty();   for (let i = 0; i < data.cities.length; i++) { $('#city').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '<option>'); }   if (data.deposits.length > 0) { for (let i = 0; i < data.deposits.length; i++) { $('#deposit').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '<option>'); } } else { // $('#deposit').prop('disabled', true); // $('#city').prop('disabled', false); }   $('#city').trigger('change'); } });   });   $('#deposit').on('change', function () { depositId = $(this).val(); localStorage.setItem('selected_deposit_id', depositId); });   $('#uf_destiny').change(function () { let code_city = $(this).val(); let depositDestiny = localStorage.getItem('selected_deposit_destiny_id'); let action = route('removal.removal-values.cities', code_city); $.ajax({ type: "POST", url: action, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { code_city: code_city },   success: function (data) {   $('#city_destiny').empty(); $('#deposit_destiny').empty();   for (let i = 0; i < data.cities.length; i++) { $('#city_destiny').append('<option value="' + data.cities[i].NM + '">' + data.cities[i].NM + '</option>'); }   if (data.deposits.length > 0) { // $('#deposit_destiny').prop('disabled', false); //$('#city_destiny').empty(); // $('#city_destiny').prop('disabled', true); for (let i = 0; i < data.deposits.length; i++) { $('#deposit_destiny').append('<option value="' + data.deposits[i].NM + '">' + data.deposits[i].NM + '</option>'); } } else { // $('#deposit_destiny').prop('disabled', true); // $('#city_destiny').prop('disabled', false); }   $('#city_destiny').trigger('change'); } }); });   $('#deposit_destiny').on('change', function () { let depositDestinyId = $(this).val(); localStorage.setItem('selected_deposit_destiny_id', depositDestinyId); });   }); </code>
    • Por babylon
      Olá galera tudo bem?
      Deixa eu perguntar, estava mexendo no meu site e queria adicionar em html essa tabela porem esta dando erro pois fica assim:
       

      Porem gostaria que ficasse assim:

      Segue o código da tabela:
      <center><table border="0">
          <tr>
      <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Bicicleta<br> <font color="#0092df">..</font>Track Bikes<br> <font color="#0092df">..</font>Aro 29 TKS</b></a></span><br><br><font size="5"><center><span style="background-color: #A1CD44">DE:</span></font> <br><font size="5"><s>R$ 1.999,99</center></font></s> </td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itembicicleta.jpg"><br><font size="5"><center><span style="background-color: #A1CD44">COM - 60%:</span></font> <br><font size="5">1.199,99</font></center></a></td>
             <td><font color="#ffffff">....</font></td>
              <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Monitor 24"<br> <font color="#0092df">..</font>Samsung<font color="#0092df">aa.aa</font><br> <font color="#0092df">..</font>1ms 144hz</b></a></span></center></td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itemmonitor.jpg"></a></td>
          </tr>
          </table></center>
      O que estaria errado, pois não sei como colocar nessa tabela outro fundo de outra cor, veja que usei td bgcolor="#0092df" para o azul escuro mas não sei como usaria pro "#e4f1fb" para o fundo ficar de azul claro em baixo bem como não ficou correto em altura o "DE:" com o "COM - 60%:".
      Bom é isso, obg.


×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.