Wie lege ich eine <div>
in der Mitte des Bildschirms mit jQuery?
Antworten
Zu viele Anzeigen?MEIN UPDATE ZUR ANTWORT VON TONY L. Dies ist die geänderte Version seiner Antwort, die ich jetzt regelmäßig verwende. Ich dachte, ich würde sie mit Ihnen teilen, da sie etwas mehr Funktionalität für verschiedene Situationen bietet, wie zum Beispiel verschiedene Arten von position
oder nur eine horizontale/vertikale Zentrierung und nicht beides wünschen.
center.js:
// We add a pos parameter so we can specify which position type we want
// Center it both horizontally and vertically (dead center)
jQuery.fn.center = function (pos) {
this.css("position", pos);
this.css("top", ($(window).height() / 2) - (this.outerHeight() / 2));
this.css("left", ($(window).width() / 2) - (this.outerWidth() / 2));
return this;
}
// Center it horizontally only
jQuery.fn.centerHor = function (pos) {
this.css("position", pos);
this.css("left", ($(window).width() / 2) - (this.outerWidth() / 2));
return this;
}
// Center it vertically only
jQuery.fn.centerVer = function (pos) {
this.css("position", pos);
this.css("top", ($(window).height() / 2) - (this.outerHeight() / 2));
return this;
}
In meinem <head>
:
<script src="scripts/center.js"></script>
Beispiele für die Verwendung:
$("#example1").centerHor("absolute")
$("#example2").centerHor("fixed")
$("#example3").centerVer("absolute")
$("#example4").centerVer("fixed")
$("#example5").center("absolute")
$("#example6").center("fixed")
Es funktioniert mit jeder Art von Positionierung und kann auf Ihrer gesamten Website verwendet werden, aber auch leicht auf jede andere Website übertragen werden, die Sie erstellen. Keine lästigen Workarounds mehr, um etwas richtig zu zentrieren.
Ich hoffe, dies ist für jemanden da draußen nützlich! Viel Spaß!
Damit habe ich den UL in die mittlere Position gebracht.
cadasWidth = $('.card-dashboard').innerWidth();
cadasWidthCenter = cadasWidth/2;
ulmenuWidth = $('.card-dashboard ul#menu').outerWidth();
ulmenuWidthCenter = ulmenuWidth/2;
ulmenuStart = cadasWidthCenter - ulmenuWidthCenter;
$('.card-dashboard ul#menu').css({
'left' : ulmenuStart,
'position' : 'relative'
});
21 Stimmen
Dies ist eher eine CSS-Frage als eine jQuery-Frage. Sie können jQuery-Methoden verwenden, um die browserübergreifende Positionierung zu finden und die richtigen CSS-Stile auf ein Element anzuwenden, aber der Kern der Frage ist, wie man ein div auf dem Bildschirm mit CSS zentriert.
0 Stimmen
Hier ist ein weiteres Plugin. alexandremagno.net/jquery/plugins/center
2 Stimmen
Wenn Sie ein Div auf dem Bildschirm zentrieren, verwenden Sie möglicherweise eine FIXED-Positionierung. Warum nicht einfach dies tun: stackoverflow.com/questions/2005954/ . Die Lösung ist rein CSS, erfordert kein Javascript.
0 Stimmen
Ich stimme zu, die JavaScript-Methode ist nicht besonders freundlich. Vor allem browserübergreifend.