Per il caso 2) no, inquanto credo ci sia un modo direttamente nel CSS(usando qualche @).