Tjena
Har gjort en grej där jag presenterar olika kodstycken.
Använder min av divar samt <pre> för att få en snygg formatering av innehållet.
Nu har jag ett litet problem, det är så att höjden på pretaggarna blir automatiskt ~30px, vilket jag inte alls vill, dom får vara MAX 15px.
Förstår inte riktigt hur jag ska lösa det här, har provat att sätta height, line-height, padding, margin mm på pretaggen, men utan resultat.
Det verkar nästintill omöjligt att ändra det här.
Några förslag på hur jag ska fixa det här?
Har kollat runt på det 20-tal trådar som tar upp <pre> taggen, men hittar ingen som tidigare tagit upp mitt problem.
Istället för att använda <pre> kan du ta en <span> (eller annan praktisk) och sätta white-space:nowrap på den.
Hmm, det funkar nästan.
Det ser rätt ut, problemet blir att när man markerar allt som visas, kopierar och sen ska klistra in någonstans, så hamnar allt på en lång rad.
Radbrytningarna kommer alltså inte med, hur löser man det?
Somsagt, det blir jättebra om jag endast kör med <pre>, men då blir varje rad ~30px hög, vilket jag inte vill.
Om jag strunar i pretaggen och sätter white-space: pre; på diven så funkar det, men även då blir raderna för höga.
Såg gärna till om ni vill se mer kod.
Kan ju tillägga att detta skrivs ut i en loop från en array.
Det verkar som du tänkt använda en <pre> per kodrad, vilket är väldigt onödigt. Använd en <pre> för hela kodstycket istället, så får du normal radhöjd. Om du vill ha stilregler för varje rad kan du använda ett annat element för det...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>PRE</title>
<style type="text/css">
pre { counter-reset:i; }
pre code.l::before { content:counter(i) ". "; counter-increment:i; }
</style>
</head>
<body>
<p>Lite exempelkod:</p>
<pre><code class="l">function foo(bar) {</code>
<code class="l"> return (bar) ? bar : false;</code>
<code class="l">}</code></pre>
</body>
</html>
Problemet är att när du lägger en block-box i en annan box som har white-space:pre, så blir det "dubbla" radbrytningar. En radbrytning för white-space:pre och en "radbrytning" för display:block.
Sen ska man kunna ta bort radnumreringen, dvs. dölja de divarna, alla eller inga.
Problemet är som sagt endast hur jag ska få till ev. tabbsteg och mellanslag i min utskrft.
Men det här måste gå att lösa på nått annat sätt.
Tex, Php-Portalen har ju samma princip med radnummer och <pre> och allt och det funkar i alla webläsare så vitt jag vet.
Nu har jag fått till det halvdant, det funkar nästan som jag vill.
Nu är det bara en sak som återstår, jag använder pasern "colorCode" från Pellesoft för att färglägga aspkoden.
Använder jag mig av den, så blir raderna 30px höga, använder jag den inte blir det rätt.
Alltså måste felet finns i den filen.
Tidigare så lade den till <font color="färgen">sak att färglägga</font> i koden när det fanns något att färglägga.
Men det gillade inte validatorn av någon anledning, så ändrade alla <font> till <span style="">.
Kan det ha med höjdproblemet att göra?