I like to get my table behave like a block element. I cannot set it to width:100% because it does have some padding, this is going to result 100% + the paddings PX.
Finally I found the answer by myself.
Put your table inside a wrapper container and write a CSS rule similar to this:
//HTML
...
//CSS
.wrapper-table > table { width: 100%; }
Now the table will no longer overflow your layout and fits perfectly like most elements do.