Gövdenin herhangi bir bölümüne bir div eklemeye position: absolute
ve bunu tüm belgeye göreli yapmaya çalışıyorum position: relative
,.
Gövdenin herhangi bir bölümüne bir div eklemeye position: absolute
ve bunu tüm belgeye göreli yapmaya çalışıyorum position: relative
,.
Yanıtlar:
Öğenin div
dışını position:relative
ve içine yerleştirmeniz gerekecek body
.
position:fixed
ve position:absolute
aynı davranışa sahip değilsiniz. Sabit, görüntü alanına (belgeye değil) bağlıdır ve potansiyel olarak çakışmalara neden olabilecek şekilde kaydırıldıktan sonra bile öğenin her zaman görünür olmasına neden olur. Html yapısı için geçerli nedenler olabileceğini anlıyorum, ancak soru özellikle html ve css, cevabım doğru. JS'siz onu belgeye göre yapmanın tek yolu, onu position:relative
öğenin dışına taşımaktır .
Arıyorsun position: fixed
.
MDN'den :
Sabit konumlandırma, elemanın içeren bloğunun görüntü alanı olması dışında, mutlak konumlandırmaya benzer. Bu genellikle sayfayı kaydırdıktan sonra bile aynı konumda kalan bir kayan öğe oluşturmak için kullanılır.
Çözümüm, div'i üst öğesinin dışına taşımak için jQuery kullanmaktı:
<script>
jQuery(document).ready(function(){
jQuery('#loadingouter').appendTo("body");
});
</script>
<div id="loadingouter"></div>
Elemanı eklemek istemiyorsanız body
, aşağıdaki çözüm işe yarayacaktır.
Bu soruya div'i vücuda eklemeden işe yarayacak bir çözüm aramak için geldim, çünkü fare hem yeni öğenin hem de onu oluşturan öğenin üzerindeyken çalıştırmak istediğim bir fareyle üzerine gelme betiğim vardı. JQuery kullanmaya istekli olduğunuz ve @Liam William'ın cevabından ilham aldığınız sürece:
var leftOffset = <<VALUE>>;
var topOffset = <<VALUE>>;
$(element).css("left", leftOffset - element.offset().left);
$(element).css("top", topOffset - element.offset().top);
Bu çözüm, öğeyi 0, 0'a taşımak için öğenin geçerli sol ve üst konumunu (gövdeye göre) çıkararak çalışır. Öğeyi gövdeye göre istediğiniz yere yerleştirmek, sol ve üst ofset eklemek kadar basittir. değer.
Bu sadece CSS ve HTML ile mümkün değildir.
Javascript / jQuery kullanarak potansiyel olarak öğeleri jQuery.offset()
DOM'a alabilir ve jQuery.position()
sayfanın neresinde görünmesi gerektiğini hesaplamak için karşılaştırabilirsiniz .
jQuery.offset({ left: 0 })
kazanmak için!
<body>
etiketin alt öğesi olarak aittir , değil mi?