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

82
Visualizações
Cómo hacer una barra de desplazamiento en un solo div

Quiero agregar dos Div en la página, un Div para la parte superior, que es de solo lectura, el otro Div para la parte inferior, que es editable. Lo que quiero lograr es:

  1. Haga que el Div inferior sea editable y desplazable si el contenido es demasiado largo.
  2. Mientras se desplaza por el Div inferior, el Div superior debe permanecer en la misma posición

Aquí está el código que tengo:

 <html> <body> <div> <div>Top Part</div> <div contenteditable="true">Click here to type</div> </div> </body> </html>

En el código anterior, si hago clic en el Div inferior, podemos escribir, luego, si seguimos presionando Intro, mostrará la barra de desplazamiento vertical, pero si me desplazo, el Div superior también se desplazará hacia arriba, lo cual quiero para evitar.

Entonces, ¿cómo puedo hacer que la barra de desplazamiento solo se aplique a la división inferior?

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

0

La barra de desplazamiento actualmente se aplica a toda la ventana, por lo que todos los elementos de la página se desplazan hacia arriba y hacia abajo juntos. Una alternativa es hacer desplazable el área editable. Restrinja la altura de esa área y establezca su desbordamiento en "automático" o "desplazamiento".

 .edit { max-height: 5em; overflow-y: auto; }
 <div> <div>Top Part</div> <div contenteditable="true" class="edit">Click here to type</div> </div>


Puede evitar establecer una altura específica para el área desplazable utilizando la altura de la ventana como limitador. Un método es usar flexbox para que el área desplazable llene la altura restante de la ventana. Aquí hay un ejemplo . En su caso, el <body> puede ser el contenedor flexbox "externo".

En la demostración a continuación, <body> se divide en dos áreas: el área superior y un área inferior de "contenedor desplazable" que llena la altura restante de la ventana. El área inferior limita la altura máxima del área editable/desplazable.

También agregué una técnica de "marcador de posición" discutida aquí: Marcador de posición para div contenteditable .

 html, body { margin: 0; } body { height: 100vh; display: flex; flex-direction: column; } .header { background-color: #EEF; } .scroll-container { flex: 1; min-height: 1em; } .scrollable { max-height: 100%; overflow-y: auto; } .header, .scrollable { padding: 0.5em; box-sizing: border-box; } [contenteditable=true]:empty:before { content: attr(data-placeholder); color: grey; font-style: italic; cursor: text; }
 <div class="header">Top Part</div> <div class="scroll-container"> <div contenteditable="true" class="scrollable" data-placeholder="Click here to type"></div> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Si quiere decir que desea que la parte superior siempre se pueda ver en la parte superior, puede usar position: sticky .

 .sticky { font-size: 2em; position: sticky; top: 0; } [contenteditable=true] { border: 0.1em solid black; }
 <html> <body> <div> <div class="sticky">Top Part</div> <div contenteditable="true">Click here to type</div> </div> </body> </html>

about 4 years ago · Juan Pablo Isaza Relatório

0

Podrías hacer algo como esto:

 .scrollable{ overflow-y: scroll; max-height: 150px; }
 <html> <body> <div> <div>Top Part</div> <div class="scrollable" contenteditable="true">Click here to type</div> </div> </body> </html>

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