• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

648
Views
Dibujar una línea SVG en diagonal a través de su DIV contenedor (y mantener como DIV redimensionado)

Estoy tratando de dibujar una línea SVG en diagonal a través de un div como este:

ingrese la descripción de la imagen aquí

Puedo crear un div con una línea SVG dentro:

 <div id="my_div" class="rectangle"> <svg id="my_line" width='100%' height='100%' viewBox='0 0 2000 2000' preserveAspectRatio='none'><line style='red; stroke-width:2' /></svg> </div>

Dado que puedo cambiar el tamaño del div del rectángulo que lo contiene, necesito que la línea SVG se mueva con el div del rectángulo a medida que cambia de tamaño, siempre tocando las esquinas superior izquierda e inferior derecha.

Intento usar getBoundingClientRect para establecer las posiciones de línea:

 var rect_box = document.getElementById("my_div").getBoundingClientRect(); $("#my_line").attr("x1", rect_box.left) $("#my_line").attr("y1", rect_box.top) $("#my_line").attr("x2", rect_box.right) $("#my_line").attr("y2", rect_box.bottom)

Pero esto no funciona. ¿Hay alguna manera de configurar viewBox o aplicar CSS, de modo que la línea SVG siempre permanezca fija en la diagonal de su div contenedor?

Nota : también existe este enfoque que usa la ruta de recorte CSS, y permanece fijo en sus esquinas durante el cambio de tamaño, pero el grosor de la línea cambia a medida que se cambia el tamaño. Necesito que el grosor de la línea permanezca constante.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No requiere javascript.

 #my_div { outline: 1px solid; height: 200px; }
 <div id="my_div"> <svg width='100%' height='100%' viewBox='0 0 100 100' preserveAspectRatio='none'> <line x1="0" y1="0" x2="100" y2="100" vector-effect="non-scaling-stroke" stroke="red" /> </svg> </div>

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error