Как написать хак для IE, Firefox, Chrome

Увы, приходится иногда использовать и хаки – сложная не своя верстка, в которой нет времени разбираться, например…
У оперы хаки от версии к версии меняются, поэтому можно в css написать для нее как основы, а остальных поправить хаками (если требуется).

/* firefox */
@-moz-document url-prefix() {
  .myclass {
    font-size:16px;
  }
  /* ... */
}
/* chrome и safari */
@media all and (-webkit-min-device-pixel-ratio:0) {
  .myclass {
    font-size: 18px;
  }
  /* ... */
}

Для Internet Explorer – самое удобное. Подход называется “Conditional comments”. См. пример:

<!--[if IE]>
Special instructions for IE here
<![endif]-->

Внутри можно, например, подключить css, которая выполнится только в IE:

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="/css/ie.css">
<![endif]-->

Также, можно указывать версию IE:

<!--[if IE 6]> <![endif]-->
<!--[if IE 7]> <![endif]-->
<!--[if IE 8]> <![endif]-->

Или указывать версию больше или меньше:
gt: больше, чем.
lt: меньше, чем.
Если добавляется “e”, то еще и равно значению

<!--[if gt IE 6]>Больше 6-ого<![endif]-->
<!--[if lte IE 7]>Седьмой или меньше<![endif]-->

И помните, хаки – плохой выход.