Jestem trochę zdezorientowany co do CSS i atrybutu class
. Zawsze myślałem, że kolejność, w której określam wiele klas w wartości atrybutu, ma znaczenie. Późniejsza klasa może/powinna nadpisywać definicje poprzednich, ale to nie działa. Oto przykład:Jak określić kolejność klas CSS?
<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>
Spodziewam się, trzeci przykład z class="basic extra"
powinien mieć niebieskie obramowanie, ponieważ w dodatkowym określonej granicy byłoby zastąpić granicy z podstawowym.
Używam FF 3 na Ubuntu 9.04
Wow, naprawdę to źle. Zadziwiające, jak długo mogłem to zrobić, nie zdając sobie z tego sprawy :-) –
Tak, to nie jest oczywiste i zrobiłem to samo, co zrobiłeś. Zajęło mi to godziny, żeby to rozgryźć. – Zoidberg
Nigdy nie wiedziałem o tym :) Świetna wskazówka –