The subdirectories and files created in the directory after the chcon will inherit the type attribute. You can see this with the "-Z' option of ls. For example:
ls -dZ /home/web-docs
ls -Z /home/web-docs/somefile
The default locations are set to the correct context when the packages are installed. If you relocate them, you need to note the original context and apply it to the new location. It's pretty much a one-time thing at the time the directory/file is created. This is how SELinux knows what functions are permitted on a file or directory.
There's a good document
here.