In Bootstrap 3, I could apply col-sm-xx to the th tags in the thead and resize table columns at will. However this doesn
Updated 2018
Make sure your table includes the table class. This is because Bootstrap 4 tables are "opt-in" so the table class must be intentionally added to the table.
http://codeply.com/go/zJLXypKZxL
Bootstrap 3.x also had some CSS to reset the table cells so that they don't float..
table td[class*=col-], table th[class*=col-] {
position: static;
display: table-cell;
float: none;
}
I don't know why this isn't is Bootstrap 4 alpha, but it may be added back in the final release. Adding this CSS will help all columns to use the widths set in the thead..
Bootstrap 4 Alpha 2 Demo
UPDATE (as of Bootstrap 4.0.0)
Now that Bootstrap 4 is flexbox, the table cells will not assume the correct width when adding col-*. A workaround is to use the d-inline-block class on the table cells to prevent the default display:flex of columns.
Another option in BS4 is to use the sizing utils classes for width...
25
50
25
Bootstrap 4 Alpha 6 Demo
Lastly, you could use d-flex on the table rows (tr), and the col-* grid classes on the columns (th,td)...
25%
25%
50%
..
..
..
Bootstrap 4.0.0 (stable) Demo
Note: Changing the TR to display:flex can alter the borders