Moin!
<p><span style="text-decoration: underline">uuu<span style="text-decoration: none;">nnnnnnn</span>uuuu</span></p>
Die u's sollen unterstrichen sein, die n's dazwischen dagegen nicht. Das "text-decoration: none" tut aber in keinem Browser (IE6+7, FF) das, was ich erwarten würde, sprich, die Unterstreichung beseitigen.
Die Unterstreichung, die du siehst, kommt vom äußeren Span. Unterstreichung addiert einen Strich, Nicht-Unterstreichung addiert ihn nicht mehr - subtrahiert bereits bestehende Striche aber auch nicht.
Ungefähr dasselbe würde passieren, wenn du im äußeren Span die Hintergrundfarbe von transparent auf z.B. Gelb setzt und im inneren Span wieder auf transparent - das Gelb wird trotzdem angezeigt.
Mir ist klar, dass ich die Bereiche segmentieren könnte (also im obigen Fall drei aufeinander folgende span-Elemente, nicht geschachtelt), ich frage mich aber, ob man das auch im geschachtelten Zustand irgendwie hinbekommt, denn es würde meinen Anwendungsfall (eine autom. Konvertierung von XML nach HTML) deutlich vereinfachen.
Das Trennen ist die einzige Chance - abgesehen von der Tatsache, dass Unterstreichung grundsätzlich keine gute Idee ist, außer es handelt sich um Links. Unterstreiche in Webseiten niemals Text, den man nicht anklicken kann - es verwirrt deine Besucher maßlos!
- Sven Rautenberg
"Love your nation - respect the others."