Zum Inhalt springen

Extrem hartnäckiges Problem bei Text/Bild mit CSS

Erstellt am 12. September 2006 · 26 Antworten · letzte Antwort am 12. Dezember 2006 · Seite 1 von 2

Tags: Frage

2bbionic ·

Hallo,

ich hänge hier seit zwei Tagen an einem sehr hartnäckigen Problem herum und weiss nicht, wie ich ihm beikommen soll. Das Problem tritt zudem nur beim IE auf, der Mozilla scheint damit keine Probleme zu haben...
Es geht um die Darstellung von Content mit typo3 4.0.2 & RTE 1.4.2.
Wenn ich auf einer Seite Inhaltselemente des Typs "Text" anlege, funktioniert alles wunderbar. Sowie ich aber entweder ein Formular oder ein "Text mit Bild" anlege und es mir anschliessend anzeige ist ein Grossteil des Contents weg! Das heisst, weg ist er nicht einfach, sondern er wird anscheinend von einer anderen Content-Box überlagert. Das Problem tritt auch nur auf, wenn das Bild nicht zentriert über oder unter dem Text liegt.
Ich habe schon alle möglichen Schnippsel aus diversen Foren durchprobiert und weiss nicht mehr, wo und wie ich weitermachen soll, daher hoffe ich auf einen Tipp hier.
Hier noch die entsprechenden Codes:

mod.SHARED.colPos_list = 0
inlineStyle2tempFile = 1
RTE.default.proc.dontConvBRtoParagraph = 1


#*** RTE Classe des Interface (Ausrichtung)
RTE.classes {
        align-left {
                name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyleft
                value = text-align: left;
        }
        align-center {
                name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifycenter
                value = text-align: center;
        }
        align-right {
                name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyright
                value = text-align: right;
        }
}
# *** Entfernt das Bild vor den Links
RTE.classesAnchor {
        internalLink {
                class = internal-link
                type = page
                image >
        }
        externalLink {
                class = external-link
                type = url
                image >
        }
        externalLinkInNewWindow {
                class = external-link-new-window
                type = url
                image >
        }
        internalLinkInNewWindow {
                class = internal-link-new-window
                type = page
                image >
        }
        download {
                class = download
                type = file
                image >
        }
        mail {
                class = mail
                type = mail
                image >
        }
}


PAGE_TARGET = 
content.pageFrameObj =
#css_styled_content default stylesheet ausblenden
content.stylesheet.file =
### CSS STYLED CONTENT ###
lib.stdheader.stdWrap.dataWrap >
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines >
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class = content_box_left_innen
config {
  xmlprologue = none
  xhtml_cleaning = all
  htmlTag_setParams = xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"
  #doctype = xhtml_strict
  xhtml_cleaning = all
  htmlTag_langKey = de
  htmlTag_langKey = de_DE
  simulateStaticDocuments_noTypeIfNoTitle=1
  simulateStaticDocuments_pEnc_onlyP = L 
  simulateStaticDocuments_pEnc = md5
  spamProtectEmailAddresses = 2
  spamProtectEmailAddresses_atSubst = (at)
  }
seite=PAGE
seite.10.template.file=fileadmin/template/unterseite.html
[globalVar = TSFE:id = 2]
seite.10.template.file=fileadmin/template/index.html
[global]
seite {
  stylesheet = fileadmin/template/styles.css 
  typeNum=0
  10=TEMPLATE
  10.template=FILE
  ;10.template.file=fileadmin/template/index.html
  10.workOnSubpart=DOKUMENT
  10.marks {
  sprachwahl = PHP_SCRIPT
  sprachwahl.file = fileadmin/template/languageMenu.php
  MAIN=CONTENT
  MAIN {

hier der CSS-Code:

body
{
    background-color: #404040;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    font-weight: normal;
    color: #000000;
    text-align: center;
}

.main
{
    width: 770px;
    margin: 5px auto 0px;
    background-color: #ffffff;
}

.main_innen
{
    padding: 10px;
    margin-bottom: 10px;
}

.sprache
{
    width: 770px;
    margin: 20px auto 0px;
    text-align: right;
    color: #ffffff;
}


.innerbox
{
    background-color: #c0c0c0;
}

.innerbox_logo
{
    float: left;
    margin: 6px 0px 0px 30px;
    display: inline;
}

.innerbox_hand
{
    width: 100px;
    height: 120px;
    position: relative;
    left: 4px;
    top: -7px;
    float: right;
}

.hauptnavi_zeile
{
    position: relative;
    top: -7px;
    clear: both;
    background-color: #808080;
    padding: 4px 25px 4px 0px;
    color: #ffffff;
    font-weight: bold;
    text-align: right;
}


h1
{
    padding: 0px;
    margin: 0px 0px 5px 0px;
    font-size: 10pt;
    font-weight: bold;
    color: #224dbe
}


.breaker
{
    clear: both;
    overflow: hidden;
    line-height: 0px;
    height: 1px;
}

.content_bereich
{
    padding: 8px 8px 0px 8px;
}


.content_box_left
{
    background-color: #d4d4d4;
    margin-right: 218px;
    height: 170px;
    text-align: left;
    line-height: 1.5em;
    text-align: justify;
}

.content_box_left_innen
{
    padding: 10px;
}

.content_box_left_unterseite
{
    background-color: #d4d4d4;
    text-align: left;
    line-height: 1.5em;
    text-align: justify;
}

.content_box_right
{
    float: right;
    width: 210px;
    height: 170px;
    background-color: #d4d4d4;
    text-align: left;
}

.content_box_right_innen
{
    padding: 10px;
}

.footer
{
    width: 770px;
    margin: 10px auto 0px;
    text-align: center;
    color: #d4d4d4;
    font-size: 8pt;
    line-height: 1.5em;
}

.csc-mailform {
        border: 0px;
}

.csc-mailform-field label {
        font-size: 10pt;
        font-family: Helvetica, Verdana, Arial, sans-serif;
        width: 8em;
        float: left;
        text-align: right;
        margin-right: 0.5em
        display: block
}

.csc-mailform-submit {
        margin-left: 5.5em;
}

und der Teil der Designvorlage, um die es sich dreht:

<div class="main">
    <div class="main_innen">
        <div class="innerbox">
            <div class="innerbox_hand"></div>
            <div class="innerbox_logo">
                <img src="fileadmin/template/images/logo.gif" width="165" height="100" border="0" alt="xyz" />
            </div>

            <div class="hauptnavi_zeile">###MAINNAVI###
                
            </div>
            <div class="unternavi_zeile"> ###SUBNAVI###
                
            </div>

            <div class="quicknavi_zeile">###rootline###               
            </div>

            <div class="content_bereich">
                <div class="content_box_left_unterseite">
               <div class="content_box_left_innen">###MAIN###</div>
            </div></div>

Ich habe das CSS innendrin gekürzt und von TS nur den Anfang drin sowie vom HTML-Teil nur den entsprechenden Teil mit den Markern.
Um das Ganze etwas zu veranschaulichen, hier noch zwei Screenshots:
Bild: img230.imageshack.us/…/1by7.png
Hier ist ...eigentlich nichts zu erkennen ausser zwei kleinen Grafiken. Der Text versteckt sich hinter dem Grau zwischen den Grafiken, was man erkennt, wenn man Text markiert:
Bild: img230.imageshack.us/…/2gx2.png

Der Text ist nur schnell rauskopiert und hat nichts zu sagen...
:o

Hilfe, ich weiss nicht mehr weiter... #angry#

2bbionic ·

Wirklich keiner eine Ahnung...bin am Verzweifeln...
hier noch ein Auschnitt des generierten Ausgabequelltexts. Ich vermute mal, dass es an den Klassen liegt, die der RTE da wild reinwürfelt...:

<div class="content_bereich">
                <div class="content_box_left_unterseite">
               <div class="content_box_left_innen">
	<!--  CONTENT ELEMENT, uid:24/textpic [begin] -->
		<a id="c24"></a>
		<!--  Image block: [begin] -->
			<div class="csc-textpic csc-textpic-intext-right"><div class="csc-textpic-imagewrap"><dl class="csc-textpic-image csc-textpic-firstcol csc-textpic-lastcol" style="width:100px;"><dt><img src="uploads/pics/hand.gif" width="100" height="120" border="0" alt="" /></dt><dd class="csc-textpic-caption"></dd></dl></div><div class="csc-textpic-text">
		<!--  Text: [begin] -->
			<p class="bodytext">Mit diesem Modul können Sie neue Webseiten anlegen und bearbeiten. Es bietet einen Quickeditor für schnellen Zugriff auf den Hauptseiteninhalt. Zusätzlich können Sie verschiedene Sprachen und Inhaltsspalten Ihre Seite verwalten. Zusätzlich können Sie speziellen Seiteninhalt wie Gästebücher-, Forums- und Shop-Einträge verwalten. Das Modul zeigt Ihnen auch Seitenzugriffstatistiken für die einzelnen Seiten an.</p>
		<!--  Text: [end] -->
			</div></div>
		<!--  Image block: [end] -->
			
	<!--  CONTENT ELEMENT, uid:24/textpic [end] -->
		
	<!--  CONTENT ELEMENT, uid:25/textpic [begin] -->
		<a id="c25"></a>
		<!--  Image block: [begin] -->
			<div class="csc-textpic csc-textpic-intext-right-nowrap"><div class="csc-textpic-imagewrap"><dl class="csc-textpic-image csc-textpic-firstcol csc-textpic-lastcol" style="width:75px;"><dt><img src="uploads/pics/videopic1_02.gif" width="75" height="100" border="0" alt="" /></dt><dd class="csc-textpic-caption"></dd></dl></div><div style="margin-right:85px;"><div class="csc-textpic-text">
		<!--  Text: [begin] -->
			<p class="bodytext">fdsg</p>
		<!--  Text: [end] -->
			</div></div></div><div class="csc-textpic-clear"><!-- --></div>
		<!--  Image block: [end] -->
			
	<!--  CONTENT ELEMENT, uid:25/textpic [end] -->
		
	<!--  CONTENT ELEMENT, uid:26/textpic [begin] -->
		<a id="c26"></a>
		<!--  Image block: [begin] -->
			<div class="csc-textpic csc-textpic-intext-left-nowrap"><div class="csc-textpic-imagewrap"><dl class="csc-textpic-image csc-textpic-firstcol csc-textpic-lastcol" style="width:75px;"><dt><img src="uploads/pics/videopic3.gif" width="75" height="100" border="0" alt="" /></dt><dd class="csc-textpic-caption"></dd></dl></div><div style="margin-left:85px;"><div class="csc-textpic-text"></div></div></div><div class="csc-textpic-clear"><!-- --></div>
		<!--  Image block: [end] -->
			
	<!--  CONTENT ELEMENT, uid:26/textpic [end] -->
		</div>
          </div>
	</div>

Bitte helft einem verzweifelten Menschen!

Grüße,

2bbionic

2bbionic ·

Hmm...das Problem gibt's immer noch. Ich habe den Holly-Hack mal ausprobiert (in die letzte Zeile meiner CSS-Definition kopiert), auch mit FE-Cache löschen, ohne Ergebnis. Mit viel!! Trickserei konnte ich das Problem umschiffen, dafür ist die Seite für den Redakteur jetzt fast nicht mehr editierbar (den kompletten Content der Seite in eine Tabelle und alles rausgeworfen, was nach Formatierung aussieht).
Ich werde mal den temp-Ordner von Browser und Server löschen, den apache neu starten und sehen, was passiert.
Zumindest weiß ich jetzt, dass ich nicht der einzige bin, der dieses Problem hat. Nur frage ich mich jetzt, was schlimmer ist: das Problem, oder dass es einen Namen dafür gibt...(frei nach "Broken Arrow") #angry#

Trotzdem schon mal Danke,

2bbionic

2bbionic ·

Im Live-Betrieb zur Zeit nicht, da ich wie gesagt mit Tricks den Fehler umgangen habe. Die interne Seite, mit der ich die Tests mache ist von aussen nicht erreichbar.
Ich werde mal sehen, ob ich eine Seite auf dem Live-Server eine "Problem-Seite" anlegen kann.

Grüße,

2bbionic

matthvis ·

Hallo zusammen,

ich bin froh, den post gefunden zu haben, denn genau das Problem habe ich auch. Irgendwie kommt der IE mit dl, dt, dd nicht richtig zurecht. Komischerweise nicht auf allen Seiten, sondern nur auf bestimmten, wobei nicht klar ist, woran das liegt. Es liegt nicht daran, ob das Bild rechts oder links liegt, ob es eine Bildunterschrift hat oder nicht und auch nicht daran, ob der Text das Bild umfließt oder nicht. Immer handelt es sich aber um den Seiteninhaltstyp Text mit Bild.
Nochmals das Problem kurz beschrieben:
Der Text der Seite wird von einem weißen Block verdeckt, das Bild wird angezeigt, fährt man mit der Maus über die Seite wird der Text sichtbar. Aktualisiert man die Seite, ist der Text wieder verschwunden, bzw. überdeckt.

Wäre über jede weiterführende Hilfe sehr dankbar

Grüße,
matthvis

2bbionic ·

Hallo nochmal,

matthvis hat es ziemlich genau definiert. Der Hack, er hier vorgestellt wurde, funktioniert leider in meinem Fall auch nicht hundertprozentig.
Die Live-Seite bin ich immer noch schuldig; aber es scheint ja, dass es noch mehr Seiten mit diesem Problem gibt.
Da ich nicht so durch die Browservariationen durchsteige, was CSS und Konsorten angeht, wäre auch ich für jede Hilfe dankbar.

Grüße,

2bbionic

matthvis ·

Hallo,

es ist so, dass der beschriebene weiße Block über dem Text mit der in der CSS Datei definierten Hintergrundfarbe für den übergeordneten DIV Container zusammen hängt. Mit anderen Worten, nehme ich die Hintergrundfarbe weg, ist das Problem verschwunden und alles wird normal angezeigt.

Wie soll man sich so etwas erklären?

Aber immerhin funktioniert es jetzt.

Seltsame Dinge geschehen.

Grüße,
matthvis

matthvis ·

Hallo Georg,

die Seite ist nicht online.
Das Phänomen ist wie bschrieben, dass der IE seltsamerweise diese Blöcke über dem Text erzeugt, wobei man den Text sichtbar machen kann, indem man ihn markiert (wie im screenshot von 2bbionic oben gezeigt).

Es tritt nur bei textpic auf, aber nicht bei jedem textpic Element. Und es muss mit den Definitionslisten zusammenhängen, da in alten Typo3 Versionen das Problem nicht auftrat (und sich umgehen läßt, indem man die alte Tabellenformatierung - umständlich - über TS wieder einbaut).

Grüße,
matthvis

just2b ·

mann: das auto stirbt nicht an, ich dreh den schlüssel und er stirbt nicht an!
mechaniker: ....

der mann kann das so genau beschreiben wie er will, der mechaniker wirds nicht ohne einen Blick aufs Auto richten können...

man kann auch seiten inkl js + css speichern und die eine seite wo uploaden.. nur mal so als vorschlag... aber aus nem bild kann man nichts rauslesen was wirklich nützt

georg

2bbionic ·

Ich habe auf die Schnelle mal eine Seite produziert, wo der Fehler auftritt. Inhaltselement "Text mit Bild", jeweils ein Bild eingefügt( einmal links, einmal rechts), etwas Dummy-Text dazu - et voila, da ist der Fehler wieder.
Das Layout kommt von einer Agentur, dafür kann ich nix...:

http://www.psp-police.com/index.php?id=20

Je nachdem, wie oft man die Seite reloaded, sieht's anders aus...

Hoffe, das hilft bei der Ursachenforschung...

Grüße,

2bbionic

matthvis ·

Hallo 2bbionic,

analog zu meiner Lösung wäre es ein Versuch wert folgende CSS Angabe auszukommentieren:

.innerbox

{

    background-color: #c0c0c0;

}

Grüße,
matthvis

2bbionic ·

Schon mal danke für die Infos. Ich werde sehen, dass ich auf dem internen Server die Vorschläge mal einarbeite und dann schaue, was passiert...

2bbionic ·

Das CLEAR: BOTH brauche ich, sonst wird der untere Bereich nicht richtig dargestellt.
Und ohne die innerbox Hintergrundfarbe erkennt man den Bereich nicht mehr...
Beides bringt also nicht den gewünschten Effekt, wie es sich (korrekterweise) z.B. im Firefox darstellt.

2bbionic ·

@just2b: Das ist ein anderes Problem - ich bekomme eine Vorlage (natürlich für typo3 #evil# ) die so umzusetzen ist, wie es sich der Grafiker und der Webprogrammierer am grünen Tisch ausgedacht haben.
Das das Template eher nach China gehört (die können dort zur Zeit glaube ich noch Schrott gebrauchen) ist mir schon klar, nur sind mir da die Hände gebunden.
Ich will hier auch keine Diskussion über das Design (und das Template) lostreten, das gehört woanders hin, egal, ob es jetzt gefällt oder nicht.
Meine Intention liegt einzig darin, herauszufinden, wo das Problem liegt, und es zu lösen bzw. festklopfen zu können, woran es liegt, um dann an einer Lösung zu arbeiten.
Mich nervt diese Geschichte ziemlich gewaltig, weil mich diese "IE-Maskerade" schon seit etlichen Monaten verfolgt, ohne dass sich etwas bewegt.
Jetzt zu sagen, das Template ist sch.. bringt auch nichts, da die Kosten für die "Vorarbeiten" bereits entstanden und der Kunde diese bereits freigegeben hat.

Langer Rede kurzer Sinn: die vorgestellten Lösungen bringen nicht das erwünschte Ergebnis, ein Umbau der Templates ist nicht möglich.
Wenn jemand noch eine Idee haben sollte, kann er sie gerne kundtun, da ich nicht mehr weiter weiß...
Grüße,
2bbionic