First of all, do not use the table. Placing form elements in a table does not solve your problem and complicates your maintenance. Using tables in addition to presenting a form is a sign of incompetence and complexity. It is also completely meaningless. Instead, you really need to write some CSS. Honestly, if you are going to use tables for non-tabular data, then do not even try to use CSS, as this increases the complexity of maintenance.
Here are some things to keep in mind:
1) Define all units in units of "em". Most form elements are designed to accommodate text. These elements, such as text fields and text field blocks, can be increased and decreased as a function of accessibility. This means that your ideal CSS mesh for the pixel will break the moment the user resizes the text on the page.
2) Do not wrap the form element in a div. Like a div, your form is a block level element. If the form does not have node nodes under the parent div, just point any view directly to the form element, and not to the parent element, which exists only to contain the form.
3) Group the elements of the form. If you are floating text fields, all things can be ruined if the forms move independently of the corresponding label elements. It will be easier to place an ordered list inside your form, and then wrap each form element in a list element. Thus, you only need to worry about defining the layout of the label element relative to the form control, and then arranging them together, defining the presentation of the list item. This method is also semantic and informs text readers about the order on your form elements.
4) Do not use an important announcement. This makes a quick fix in your CSS, but completely suppresses inheritance and completely complicates maintenance. Instead, take the extra time to write your code correctly the first time, so subsequent maintenance will be a quick and insignificant event.
5) Do not use an absolute position if you really do not know what you are doing, even if your form is set to a relative position. In most cases, absolute results with unexpected behavior and unexpected problems.
6) To make sure your CSS code actually defines the true mesh, use the Firefox MeasureIt plug-in. This will help you achieve amazing accuracy and save you incredible time when creating a mesh.
7) Do it right the first time, using as little code as possible to get the job and submit your form. Only then check your form for cross-browser accuracy. Make one correction for cross-browser accuracy at a time to limit unnecessary bloating of your CSS code.