Show size of files and directories

$ ls | xargs du -sh

Why not ls -l?

ls -l shows only size of files, not directories.