Περισσότερα
Πώς μπορώ να ανακτήσω το πραγματικό πλάτος και ύψος ενός στοιχείου HTML;
Ας υποθέσουμε ότι έχω ένα <div>
που θέλω να κεντράρω στην οθόνη του προγράμματος περιήγησης (viewport). Για να το κάνω αυτό, πρέπει να υπολογίσω το πλάτος και το ύψος του στοιχείου <div>
.
Τι πρέπει να χρησιμοποιήσω; Παρακαλείστε να συμπεριλάβετε πληροφορίες σχετικά με τη συμβατότητα με το πρόγραμμα περιήγησης.
824
3
Θα πρέπει να χρησιμοποιήσετε τις ιδιότητες
.offsetWidth
και.offsetHeight
. Σημειώστε ότι ανήκουν στο στοιχείο και όχι στο.style
.var width = document.getElementById('foo').offsetWidth;
ΣΗΜΕΙΩΣΗ: αυτή η απάντηση γράφτηκε το 2008. Εκείνη την εποχή, η καλύτερη λύση για τους περισσότερους ήταν η χρήση της jQuery. Αφήνω την απάντηση εδώ για τις επόμενες γενιές και, αν χρησιμοποιείτε jQuery, αυτός είναι ένας καλός τρόπος για να το κάνετε. Αν χρησιμοποιείτε κάποιο άλλο πλαίσιο ή καθαρή JavaScript, η αποδεκτή απάντηση είναι μάλλον ο σωστός τρόπος.
Από την jQuery 1.2.6 μπορείτε να χρησιμοποιήσετε μία από τις βασικές CSS συναρτήσεις,
height
καιwidth
(ήouterHeight
καιouterWidth
, ανάλογα με την περίπτωση).element.offsetWidth και element.offsetHeight θα πρέπει να κάνουν, όπως προτείνεται σε προηγούμενη δημοσίευση.
Ωστόσο, αν θέλετε απλώς να κεντράρετε το περιεχόμενο, υπάρχει ένας καλύτερος τρόπος για να το κάνετε. Υποθέτοντας ότι χρησιμοποιείτε xhtml strict DOCTYPE. ορίστε την ιδιότητα margin:0,auto και το απαιτούμενο πλάτος σε px στην ετικέτα body. Το περιεχόμενο θα ευθυγραμμιστεί στο κέντρο της σελίδας.