zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Zelle wird nicht angepasst

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 30.06.2004, 13:32
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 21.10.2003
Beiträge: 98
PrinzEisenherz befindet sich auf einem aufstrebenden Ast
Standard Zelle wird nicht angepasst

Hallo zusammen.

Ich bekomme einen lästigen Hintergrundstrich unter einer Grafik nicht weg.
Hier handelt es sich um eine Tabelle die in einer Zelle eine teilweise transparente Grafik enthält um einen schrägen Strich darzustellen.

Im IE6 und im Opera7.23 ist alles O.K.
Im NN7.1 lugt unter der Grakfik ein ein Pixel breiter Streifen Hintergrund durch.

Hier ein Beispiel-Code

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>unerklärliche Pixelabstände</title>
<style type="text/css">   <!-- 

html, body { 
   	font-family: Verdana, Helvetica, sans-serif; 
   	color: #000000; 
   	background-color: #393852; 
   	} 

table {
    table-layout:fixed;
    }

img {
    border:0px;
    }

#zelle1 { 
	text-align:center;
	font-size:12px;
	font-weight:bold;
	border-left:2px solid #F2F2F2;
	border-top:2px solid #F2F2F2;
	border-bottom:2px solid #F2F2F2;
	background-color: #FFCF63;
	width:130px;
   } 

#zelle2 { 
	background-color: #FFCF63; 
   	border-top:2px solid #F2F2F2; 
   	border-right:2px solid #F2F2F2;
	width:8px;
	} 

#zelle3 { 
	background-color: #FFCF63; 
   	font-size:1px; 
	} 

     --> 
</style>
</head>

<body>
<table cellspacing="0" cellpadding="0">
<tr>
<td id="zelle1" rowspan="2">Flagge</td>
<td id="zelle2"></td>
</tr>
<tr>
<td id="zelle3">[img]http://www.daddlers-paradise.de/grafik/menueeckelinks.gif[/img]</td>
</tr>
</table>
</body>
</html>
Im Netz könnt ihr es finden unter www.daddlers-paradise.de
__________________
PrinzEisenherz

www.daddlers-paradise.de
Lan-Partys
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 30.06.2004, 14:22
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

als erstes hab ich mal die backslashes bei rowspan=\"2\" entfernt. An dieser Stelle braucht man den Attributwert nicht escapen.

Die andere Änderung betrifft Dein Pixel unterhalb des Bildes. Die Zelle hat zwar von Dir eine font-size:1px bekommen, aber die line-height ist immer noch auf Standard gestellt. Mit line-height:1px kannst Du das Problem beheben.

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>
      unerkl&auml;rliche Pixelabst&auml;nde
    </title>

    <style type="text/css">
    /*<![CDATA[*/
    <!--
    html, body {
        background: #393852;
        color: #000000;
        font-family: Verdana, Helvetica, sans-serif;
    }
    
    img {
        border: 0;
    }
    
    table {
        table-layout: fixed;
    }
    
    #zelle1 {
        background: #FFCF63;
        border-bottom: 2px solid #F2F2F2;
        border-left: 2px solid #F2F2F2;
        border-top: 2px solid #F2F2F2;
        font-size: 12px;
        font-weight: bold;
        text-align: center;
        width: 130px;
    }
    
    #zelle2 {
        background: #FFCF63;
        border-right: 2px solid #F2F2F2;
        border-top: 2px solid #F2F2F2;
        width: 8px;
    }
    
    #zelle3 {
        background: #FFCF63;
        font-size: 1px;
        line-height: 1px;
    }
    -->
    /*]]>*/
        </style>
  </head>
  <body>
    <table cellspacing="0" cellpadding="0">
      <tr>
        <td id="zelle1" rowspan="2">
          Flagge
        </td>
        <td id="zelle2">
          
        </td>
      </tr>
      <tr>
        <td id="zelle3">
          [img]http://www.daddlers-paradise.de/grafik/menueeckelinks.gif[/img]
        </td>
      </tr>
    </table>
  </body>
</html>

hemfrie
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 30.06.2004, 14:35
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 21.10.2003
Beiträge: 98
PrinzEisenherz befindet sich auf einem aufstrebenden Ast
Standard

Oh Mann geil.

Danke.

Das da noch 2 \ drin waren, war ein versehen. Ich habe meinen Quellcode in php zu stehen. da brauch ich sie. Bei der Übernahme habe ich die beiden übersehen.

Ich editiere sie eben raus.
__________________
PrinzEisenherz

www.daddlers-paradise.de
Lan-Partys
Mit Zitat antworten
  #4 (permalink)  
Alt 30.06.2004, 14:47
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

das mit dem PHP hab ich mir schon gedacht. Wobei ich persönlich in PHP auf das Ausmaskieren lieber verzichte.

Wenn Du alles in einfache Anführungsstriche packst, dann kannst Du Dir die Arbeit mit den Backslashes sparen. Ein weiterer Vorteil ist, dass PHP nicht nach Variablen innerhalb der einfachen Anführungsstriche sucht.

PHP-Code:
$html='<td id="zelle3">
          [url="#"][img]http://www.daddlers-paradise.de/grafik/menueeckelinks.gif[/img][/url]
</td> '


hemfrie
Mit Zitat antworten
  #5 (permalink)  
Alt 30.06.2004, 14:58
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 21.10.2003
Beiträge: 98
PrinzEisenherz befindet sich auf einem aufstrebenden Ast
Standard

Hmmm, ich will das ja jetzt nicht zu einer PHP-Forum werden lassen. Du hast mich aber neugierig gemacht.
Ich habe es bisher immer so gemacht.

Code:
echo "<td id=\"zelle3\"><a href=\"#\"><img style=\"width:10px; height:10px;\" src=\"http://www.daddlers-paradise.de/grafik/menueeckelinks.gif\" alt=\"\" /></a></td>\n";
Das \n sorgt dafür, das es im Quellcode einen Zeilenumbruch gibt. Das wirst du aber vermutlich selber wissen.
__________________
PrinzEisenherz

www.daddlers-paradise.de
Lan-Partys
Mit Zitat antworten
  #6 (permalink)  
Alt 30.06.2004, 15:24
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

das newline (\n) ist auch in Ordnung. Die \ vor den " kannst Du aber eben einsparen, wenn Du den String nicht in doppelte Anführungsstriche packst, sondern in einfache.

PHP-Code:
echo '<td id="zelle3">[url="#"][img]http://www.daddlers-paradise.de/grafik/menueeckelinks.gif[/img][/url]</td>'."\n"
Das ganze hat folgende Vorteile:

1. weniger Schreibarbeit, da die \ vor den " wegfallen.
2. PHP kann den Code schneller parsen.

Beispiel:
PHP-Code:
echo "<div>$variable</div>";  // Ausgabe ist <div>Variableninhalt</div>
echo '<div>$variable</div>'// Ausgabe ist <div>$variable</div> 
Wie Du siehst parst PHP innerhalb doppelter Anführungsstriche die PHP-Variablen mit. Innerhalb einfacher wird alles als String ausgegeben und die Variablen werden nicht interpretiert.

Deshalb ist die zweite Methode viel schneller, da PHP sich erst gar nicht die Mühe machen muss nach irgendwelchen Variablen zu suchen.

Wenn dann doch Variablen innerhalb des Strings vorkommen, dann kettet man diese einfach an.

PHP-Code:
echo '<div>'.$variable.'</div>'

hemfrie
Mit Zitat antworten
  #7 (permalink)  
Alt 30.06.2004, 15:43
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 02.06.2003
Beiträge: 2.441
ulle befindet sich auf einem aufstrebenden Ast
Standard

Nur mal so...

http://www.php.net/manual/de/language.types.string.php

PHP-Manual, für Dich auch in deutsch
__________________
</ulle>
Mit Zitat antworten
  #8 (permalink)  
Alt 30.06.2004, 15:59
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 21.10.2003
Beiträge: 98
PrinzEisenherz befindet sich auf einem aufstrebenden Ast
Standard

@hemfrie
Das mit dem Verknüpfen habe ich schon von Anfang an so gehalten. Ich finde Variable einfach besser im Quellcode, wenn sie farblich hervorgehoben werden. Was nicht der Fall wäre, wenn ich ihn direkt in den String schreiben würde.

Ich werde es mir durch den Kopf gehen lassen, ob ich meinen Quellcode auf einfache Anführungszeichen umstellen werde. Es ist ja mit einer ganzen Menge Arbeit verbunden, mal eben ein paar Tausend Zeilen umzustricken.

Jedenfalls danke für den Tipp.

@ulle
Hey, die Seite ist in deutsch....Dann ist es doch wohl logisch, dass ich sie bereits kenne.
Fast mein gesamtes PHP-Wissen habe ich von dort und von http://tut.php-q.net/
__________________
PrinzEisenherz

www.daddlers-paradise.de
Lan-Partys
Mit Zitat antworten
  #9 (permalink)  
Alt 30.06.2004, 16:29
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 02.06.2003
Beiträge: 2.441
ulle befindet sich auf einem aufstrebenden Ast
Standard

PHP-Coding

Ich gehe sogar her und habe in jedem Projekt für die XHTML-Ausgabe eine eigene Klasse.

In dieser Klasse sind alle XHTML-Codes der WEBsite, wie z.B. der DOCTYPE, diese Templates lasse ich mir dann per Funktionen überfgeben.
Beispiel:
Code:
:
$object_xhtml->getDoctype();
:
usw.

Alle Code-Schnippsel für die Ausgabe stehen auch bei mir in einfachen Anführungszeichen. Nur so habe ich eine Abgrenzung zum PHP. Also einen abgeschlossenen String. Außerdem läßt sich auch das entwickelte XHTML problemlos in die Funktionen kopieren. Dabei lassen sich auch alle White-Spaces aus dem fertigen XHTML-CODE leicht entfernen, dadurch kann man die Ausgabedatei um bis zu 30% verkleinern und keiner kann den Quell-CODE mal schnell lesen

Und damit nicht alle Bauteile der Website immer wieder durch den Parser müssen, habe ich einen Cache für fertige CODE-Schnippsel eingebaut, die natürlich auch entsprechend dynamisch gefüllt sind.

PEAR::Cache_Lite
http://pear.php.net/package/Cache_Li...ache_Lite.html
www.pear-forum.de
http://www.pear-forum.de/viewtopic.php?t=221


Somit habe ich alles getrennt:

4.Ebenen XHTML | CSS | PHP | Datenbank

Und die Bauteile der WEBsite (XHTML) habe ich genau 1 mal als CODE geschrieben. Und den Rest erledigt PHP

so viel zu
Zitat:
mal eben ein paar Tausend Zeilen umzustricken.
__________________
</ulle>
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 30.06.2004, 16:45
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 21.10.2003
Beiträge: 98
PrinzEisenherz befindet sich auf einem aufstrebenden Ast
Standard

Ich glaube da trennt sich jetzt die Spreu vom Weizen.

Ich hab nicht das geringste verstanden von dem was ulle da geschrieben hat.

Ich arbeite zwar schon seit etwa 15 Monaten mit PHP, MySQL, CSS und jetzt auch noch xHtml, aber das ist doch noch etwas zu hoch für mich.
__________________
PrinzEisenherz

www.daddlers-paradise.de
Lan-Partys
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
tabelle erstellen - jeder zelle ein rahmen SpecialFighter (X)HTML 3 26.06.2013 12:15
Hover effekt auf ganze TD zelle gandalf_hh CSS 27 13.07.2011 19:06
Tabellen Zeile einlesen, einzelne Zelle auslesen s3rial_ Javascript & Ajax 4 29.07.2010 11:14
Rest der Zelle mit Tabelle ausfüllen. wuschba CSS 7 04.10.2007 20:28
Zellenhöhe / IE stellt Zelle falsch dar digganet CSS 5 26.05.2005 14:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:04 Uhr.