Custom styling for table components

How would I customize the columns/rows of a table component in the front end? Im new to css and im not sure how I can assign a column its own width (something like 30%). I know that for each column I can add its own width using px, but I want it to be able to dynamically change as the page is extended and/or made smaller. Also how would I assign a specific color to the background of a row in the table?