Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
¿Cómo puedo hacer que solo se pueda hacer clic en cierta parte de una etiqueta?

Estoy trabajando en un proyecto y tengo una lista de acordeón con casilla de verificación de entrada y etiquetas. El problema es que la etiqueta se hace más grande cuando hago clic en ella, revelando el contenido dentro de ella, pero cuando hago clic en el contenido, la etiqueta verifica la entrada, ocultando el contenido dentro de la etiqueta, entonces, mi idea era que solo una cierta parte de se puede hacer clic en la etiqueta (4em) para activar la casilla de verificación de entrada, y solo se puede hacer clic en el resto para los objetos dentro de ella, sin activar la casilla de verificación de entrada.

Para una mejor idea aquí está mi código:

 <input id="season1" type="checkbox"> <label class="ls1" for="season1"> <h3 class="first">Season 1</h3> <i class="fas fa-angle-right"></i> <div class="episodes1-grid"> </div> </label> input[type="checkbox"] { display: none; } label { display: flex; flex-direction: column; position: relative; overflow: hidden; cursor: pointer; height: 4em; transition: height 0.8s ease-in-out; }

Tal vez esto ni siquiera requiera el uso de javascript y es mi problema en el uso de una etiqueta en primer lugar.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede usar pointer-events: none en su etiqueta, y restablecerlo en los elementos en los que desea hacer clic:

 input[type="checkbox"] { display: none; } label { display: flex; flex-direction: column; pointer-events: none; position: relative; cursor: pointer; height: 4em; transition: height 0.8s ease-in-out; } label h3 { pointer-events: auto; } input[type="checkbox"]:checked~label { color: red; }
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css" integrity="sha512-KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyVLLD9aMhXd13uQjoXtEKNosOWaZqXgel0g==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <input id="season1" type="checkbox" /> <label class="ls1" for="season1"> <h3 class="first">Season 1</h3> <i class="fas fa-angle-right"></i> <div class="episodes1-grid"> </div> </label>

Dependiendo de su escenario, probablemente sea mejor usar el elemento HTML nativo <details> :

 h3 { margin-block: .3em; } summary { cursor: pointer; }
 <details> <summary> <h3 class="first">Season 1</h3> </summary> <article class="episodes1-grid"> Episodes1-grid content </article> </details>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda