La diferencia: CSS width versus clientWidth
importancia: 5
¿Cuál es la diferencia entre getComputedStyle(elem).width
y elem.clientWidth
?
Dar al menos 3 diferencias. Mientras más, mejor.
Diferencias:
clientWidth
es numérico, mientrasgetComputedStyle(elem).width
retorna una cadena conpx
en el final.getComputedStyle
puede devolver un ancho no numérico como"auto"
para un elemento en linea.clientWidth
es el contenido interior del área del elemento más los rellenos, mientras el ancho de CSS (con el estándarbox-sizing
) es el contenido interior del área sin rellenos.- Si hay una barra de desplazamiento y el navegador reserva espacio para esta, algunos navegadores restan ese espacio del ancho de CSS (por que no está disponible para el contenido), y otros no. La propiedad
clientWidth
es siempre la misma: el tamaño de la barra de desplazamiento se resta si está reservado.