intanto e' offsetWidth
e funziona con buona approssimazione per elementi non nascosti (quindi occhio a questi display e visibility)

se hai problemi nel rilevare lo spazio fisicamente occupato da questi elementi senza farli vedere posizionali in maniera assoluta con top negativo molto alto, cosi' da uscire sicuramente fuori viewport

ciao