Estou um pouco confuso sobre CSS e o classatributo. Sempre pensei que a ordem em que especifico várias classes no valor do atributo tem um significado. A última classe pode / deve sobrescrever as definições da anterior, mas isso não parece funcionar. Aqui está um exemplo:
<html>
<head>
<style type="text/css">
.extra {
color: #00529B;
border:1px solid #00529B; /* Blue */
background-color: #BDE5F8;
}
.basic {
border: 1px solid #ABABAB;
}
</style>
</head>
<body>
<input type="text" value="basic" class="basic"/>
<input type="text" value="extra" class="extra"/>
<input type="text" value="basic extra" class="basic extra"/>
<input type="text" value="extra basic" class="extra basic"/>
</body>
</html>
Eu esperaria que o terceiro exemplo com class="basic extra"deveria ter uma borda azul, uma vez que a borda especificada extra sobrescreveria a borda do básico.
Estou usando FF 3 no ubuntu 9.04