Ungewollter Umbruch nach </span> im Netscape
Peppo
- css
Guten Morgen,
Ich hab folgendes Style definieren:
#ln
{
color: #000000;
background-color: #c0c0c0;
border-right-style: solid ;
border-right-width: 1pt ;
}
wenn ich nun folgendes schreibe
<pre>
<span id='ln'> 023 </span> bal bal
<span id='ln'> 024 </span> blub
<span id='ln'> 025 </span> foo
<span id='ln'> 026 </span> so so
</pre>
dann haut der NC 4.5 (hab kein anderen) mir nach jedem </span> ein Umbruch rein.
Der IE hat damit keine Probs.
Was kann ich machen ?
Gruß
Peppo
Guten Morgen,
Ich hab folgendes Style definieren:
#ln
{
color: #000000;
background-color: #c0c0c0;
border-right-style: solid ;
border-right-width: 1pt ;
}
sollte gehen, aber warum "#ln" und nicht ".ln"
wenn ich nun folgendes schreibe
<pre>
<span id='ln'> 023 </span> bal bal
<span id='ln'> 024 </span> blub
<span id='ln'> 025 </span> foo
<span id='ln'> 026 </span> so so
</pre>
warum "<pre>" wenn doch kein vor vormatierter text drin steht?
dann haut der NC 4.5 (hab kein anderen) mir nach jedem </span> ein Umbruch rein.
warum "<span>" und nicht "<div>"? "<div>" geht mit ie und ns. aber z.b. "<b>" würde auch gehen, wenn du font-weight im style auf normal setzt. außerdem 'class="ln"' nicht 'id="ln"'. mit "id" wird kein css ausgewählt.
Der IE hat damit keine Probs.
Ist "<span>" überhaupt noch HTML4 oder XHTML?
Was kann ich machen ?
überdenken
Gruß
zurück
Peppo
daniel
#ln
{
color: #000000;
background-color: #c0c0c0;
border-right-style: solid ;
border-right-width: 1pt ;
}
sollte gehen, aber warum "#ln" und nicht ".ln"
na wenn ich "#ln" schreibe muß ich auch 'class="ln"' und das sind 3 Zeichen mehr und das kann sich rechnen (3*857=2571)
wenn ich nun folgendes schreibe
<pre>
<span id='ln'> 023 </span> bal bal
<span id='ln'> 024 </span> blub
<span id='ln'> 025 </span> foo
<span id='ln'> 026 </span> so so
</pre>
warum "<pre>" wenn doch kein vor vormatierter text drin steht?
Doch steht drin.
dann haut der NC 4.5 (hab kein anderen) mir nach jedem </span> ein Umbruch rein.
warum "<span>" und nicht "<div>"? "<div>" geht mit ie und ns. aber z.b. "<b>" würde auch gehen, wenn du font-weight im style auf normal setzt. außerdem 'class="ln"' nicht 'id="ln"'. mit "id" wird kein css ausgewählt.
Ausprobiert hast du deine Aussage nicht oder? Mit <div> zerhaut der IE schon alles.
Der IE hat damit keine Probs.
Ist "<span>" überhaupt noch HTML4 oder XHTML?
/selfhtml/tcla.htm#a2
Was kann ich machen ?
überdenken
Mach ich gerne wenn Jemand eine brauchbare Lösung für mein Problem hat.
Peppo
Hallo Peppo,
sollte gehen, aber warum "#ln" und nicht ".ln"
na wenn ich "#ln" schreibe muß ich auch 'class="ln"' und das sind 3 Zeichen mehr und das kann sich rechnen (3*857=2571)
Es ist falsch.
Es ist nicht zulässig, mehrmals innerhalb eines Dokumentes, für ein
bestimmtes Element, die gleiche Idee zu verwenden, dann _mußt_ Du
auf class zurückgreifen.
<div id="bla">bla</div><div id="bla">bla</div> -> unzulässig
<div id="bla">bla</div><span id="bla">bla</span> -> zulässig
<div class="bla">bla</div><div class="bla">bla</div> -> zulässig
Ausprobiert hast du deine Aussage nicht oder? Mit <div> zerhaut der IE schon alles.
DIV ist ein Block-Level-Element, demzufolge entsteht danach und auch
davor automatisch ein Zeilenschaltung. Dies ist bei SPAN nicht der
Fall, deshalb ist Dein Ansatz in dieser Hinsicht schon richtig.
Wenn ich Zeit habe, schaue ich es mir nochmal genauer an und poste
dann hier die Lösung, kann es aber nicht versprechen (Stress :(
Viele Grüße aus Dresden,
Stefan Einspender
Hallo nochmal,
Wenn ich Zeit habe, schaue ich es mir nochmal genauer an und poste
dann hier die Lösung, kann es aber nicht versprechen (Stress :(
Vorschlag:
<html>
<head>
<title>test</title>
<style type="text/css">
BODY {
margin:0px;
}
B {
color: #000000;
background-color: #c0c0c0;
}
</style>
</head>
<body>
<pre>
<b> 01 </b> bal bal
<b> 02 </b> blub
<b> 03 </b> foo
<b> 04 </b> so so
</pre>
</body>
<html>
und über @import bindest Du ein CSS-Datei ein, in der folgende beide
Zeilen stehen:
font-weight:normal;
border-right:1pt solid #000000;
@import versteht Netscape nicht, kann also das Layout nicht mehr
zerschiessen. Es passiert übrigens wg. border, danach fügt Netscape
automatisch einen Zeilenumbruch ein :(
Um es auch im Netscape hervorzuheben, habe ich <b> verwendet, damit
minimierst Du gleichzeitig auch noch Deinen Quellcodeumfang *g*
Viele Grüße aus Dresden,
Stefan Einspender
Hallo nochmal ;)
font-weight:normal;
border-right:1pt solid #000000;
Natürlich soll in der externen CSS dann folgendes stehen:
B {
font-weight:normal;
border-right:1pt solid #000000;
}
Nur die beiden Zeilen wären dann doch "etwas" zuwenig gewesen ;)
Viele Grüße aus Dresden,
Stefan Einspender
Hallo Stefan,
Ich hab's mittlerweile mit
<a name='1'> 01 </a>
gelöst ich brauche sowieso auf jeder Zeile einen Anker.
Aber ich habe da noch eine Frage.
Ich habe da noch mehr drin als die Zeilennummern.
Und du sagst:
Es ist nicht zulässig, mehrmals innerhalb eines Dokumentes, für ein
bestimmtes Element, die gleiche Idee zu verwenden, dann _mußt_ Du
auf class zurückgreifen.
<div id="bla">bla</div><div id="bla">bla</div> -> unzulässig
<div id="bla">bla</div><span id="bla">bla</span> -> zulässig
<div class="bla">bla</div><div class="bla">bla</div> -> zulässig
Nu muß ich aber in dem Text alle bekannten männlichen Vornamen, weibliche Vornamen, Nachnamen, Stätte, bekannte Gebäude, usw. unterschiedlich markieren.
Wie würdest du das in HTML darstellen (ohne die Größe zu verzehnfachen)
Viele Grüße aus Welschbillig,
Peppo
hallo,
Nu muß ich aber in dem Text alle bekannten männlichen Vornamen, weibliche Vornamen, Nachnamen, Stätte, bekannte Gebäude, usw. unterschiedlich markieren.
Wie würdest du das in HTML darstellen (ohne die Größe zu verzehnfachen)
du hast mehrere möglichkeiten mit css:
die klassen; und auch wenn es dir jetzt als viel code erscheint ist es die einfachste und beste lösung.
du baust dir konstruckte wie
div#name a { }
div#stadt a { } oder
div.name a { }
div.stadt a { } usw.
wobei ich deine sorge um den code nicht ganz nachvollziehen kann. du wirst wohl keine 2 oder 300 Tsd einträge in eine html seite legen wollen?
grüße
thomas
Hallo Thomas,
wobei ich deine sorge um den code nicht ganz nachvollziehen kann. du wirst wohl keine 2 oder 300 Tsd einträge in eine html seite legen wollen?
Das Ausgangs-Material hat des öfteren 70-200kb
Peppo
hallo,
wenn dir 'class' zuviel sorgen macht, dann kannst du dir die überflüssigen 'id's auch sparen. ;-)
<html>
<head>
<title>test"</title>
<style>
body
{
margin-top:0;
margin-bottom:0;
margin-left:0;
}
pre span
{
color:#000000;
background-color:#c0c0c0;
border-right:solid 1pt;
}
</style>
</head>
<body>
<pre>
<span> 01 </span> bal bal
<span> 02 </span> blub
<span> 03 </span> foo
<span> 04 </span> so so
</pre>
</body>
<html>
im netscape 4.x hast du aber keinen right-boder.
grüße
thomas
<html>
<head>
<title>test"</title>
<style>
body
{
margin-top: 0;
margin-bottom: 0;
margin-left: 0;
}
#ln
{
color: #000000;
background-color: #c0c0c0;
border-right-style: solid ;
border-right-width: 1pt ;
}
</style>
</head>
<body>
<pre>
<span id="ln"> 01 </span> bal bal
<span id="ln"> 02 </span> blub
<span id="ln"> 03 </span> foo
<span id="ln"> 04 </span> so so
</pre>
</body>
<html>