To enhance the structure of your HTML, my recommendation is to assign a specific class or ID to the element. This can be done using user-agent server-side methods or by utilizing conditional comments. By doing so, you can easily manipulate the element using JavaScript and CSS. Here are a couple of reasons why I advocate for this approach over CSS hacks:
- It improves readability and maintainability of the code.
- Provides a centralized control point.
Additionally, implementing server-side controls enables you to serve different content as suggested by @DinashGupta. While minor CSS adjustments may suffice for browser-specific issues like those related to IE versions, considering device compatibility such as phone, tablet, or desktop requires more comprehensive solutions like server-side controls. It's worth noting that altering your user-agent string (as seen with IE 11) comes with its own set of risks and repercussions that should be taken into account.