+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Tabelle zerschießt <div>-Layout

  1. #1
    Neu an Board
    Registriert seit
    25.10.2005
    Beiträge
    86
    Bedankte sich
    6
    Erhielt 19 Danksagungen
    in 16 Beiträgen

    Standard Tabelle zerschießt <div>-Layout

    Hallo,

    Folgendes Problem konnte ich bisher noch nicht l&#246;sen (Ich sehe wohl grad den Wald vor lauter B&#228;umen nicht):

    Der Code zeigt eine Stelle im Template, in der im linken <div> eine 2-spaltige Tabelle steckt, deren linken Zelle eine feste Breite haben soll, und die rechte Zelle, die maximal gr&#246;&#223;te Breite einnehmen soll.

    Darunter soll eine Trennlinie gezogen werden, die 98% der gesamten Tabellenbreite einnehmen soll.

    An dieses <div> soll rechts ein weiteres <div> stehen, welches allerdings nur angezeigt werden soll, sofern daf&#252;r Bl&#246;cke vorgesehen sind.

    Daraus sollte folgen, dass wenn das rechte <div> mangels Bl&#246;cke daf&#252;r nicht angezeigt wird, dass das linke <div> respektive die Tabelle darin bis an den rechten Rand reichen soll, also auch die Trennlinie in der zweiten Tabellenzeile.

    Jedoch ist es momentan so, dass die 100% der zweiten Tabellenzelle das rechte <div> aus der Bahn, in die n&#228;chste Zeile, schie&#223;t.

    Hat jemand einen L&#246;sungsvorschlag bei dem das linke <div> die entsprechende Gr&#246;&#223;e einh&#228;lt?

    a) index.php (Ausschnitt)
    Code:
    <div>
      <div id="content-main">
        <table cellpadding="0" cellspacing="0" border="0">
          <tr id="content">
            <td width="105">
              <div>
                <img ... width="105" height="31" ... />
    	  </div>
      	</td>
            <td width="100%">
          	  <div id="pathway">
                Sie befinden sich hier:<br />
                <div id="pathway-bold">
                  <?php mosPathWay(); ?>
                </div>
                <div class="clr"></div>
                <div> ... </div>
              </div>
    	</td>
          </tr>
          <tr>
            <td colspan="2"><hr /></td>
          </tr>
        </table>
      </div>
      <?php if ( mosCountModules ('right') ) { ?>
        <div id="right-side">
          <div>
            <img ... width="220" height="305" ... />
          </div>
          <div class="clr"></div>
          <div>
            <?php mosLoadModules ( 'right', -2 ); ?>
          </div>
        </div>
      <?php } ?>
    </div>
    b) template_css.css (Ausschnitt)
    Code:
    #content-main { float: left; width: auto; }
    #content { vertical-align: top; }
    #right-side { float: right; width: 220px; }

  2. #2
    Wohnt hier Avatar von MadeMyDay
    Registriert seit
    17.11.2004
    Ort
    Karlsruhe
    Beiträge
    2.439
    Bedankte sich
    25
    Erhielt 304 Danksagungen
    in 169 Beiträgen

    Standard

    Aaaalso. Erstmal wäre ein Screenshot hilfreich

    Allgemein: Warum diese Mischung aus Tables und DIVs? Entweder oder und Du hast weniger Probleme.

    Weitere Comments im Text:

    <div> <-unnötig da keine weitere Funktion
    <div id="content-main">
    <table cellpadding="0" cellspacing="0" border="0">
    <tr id="content">
    <td width="105">
    <div> <-unnötig da keine weitere Funktion
    <img ... width="105" height="31" ... /> <-schön, wird oft vergessen! (Breitenangabe + selbstschließender Tag)
    </div> <-unnötig da keine weitere Funktion
    </td>
    <td width="100%"> <-105px+100% = mehr als 100%, kann so nicht funktionieren. Entweder nur Prozent oder nur Px. Alles andere gibt meist nen Genickbruch, spätestens in anderen Browsern.
    <div id="pathway">
    Sie befinden sich hier:<br />
    <div id="pathway-bold">
    <?php mosPathWay(); ?>
    </div>
    <div class="clr"></div> <-was genau willst Du hier clearen?
    <div> ... </div>
    </div>
    </td>
    </tr>
    <tr>
    <td colspan="2"><hr /></td> <-die extra Zelle ist eigentlich unnötig. Lieber Tabelle zu, hr drunter und per CSS definieren (Kosmetik)
    </tr>
    </table>
    </div>
    <?php if ( mosCountModules ('right') ) { ?>
    <div id="right-side">
    <div> <-unnötig da keine weitere Funktion
    <img ... width="220" height="305" ... />
    </div> <-unnötig da keine weitere Funktion
    <div class="clr"></div> <-Ein (möglicher) Hauptfehler. Du clearst, bevor überhaupt der Content rechts geladen wird.
    <div> <-unnötig da keine weitere Funktion
    <?php mosLoadModules ( 'right', -2 ); ?>
    </div> <-unnötig da keine weitere Funktion
    </div>
    <?php } ?>
    </div>

    css:
    #content-main { float: left; width: auto; } <-width: auto checkt der IE gar nicht, da müsstest Du mit einer Kombi aus width: auto !important + width: ..% experimentieren, das letztere gilt für den IE.

    Insgesamt sind zu viele Stolpersteine da drin (Tabellen+DIVs, Px+Prozent etc.)

    Ich denke diese linke Spalte soll ja nur ein Bild beinhalten. Also warum nicht ein DIV für beides mit Hintergrundbild und padding-left: 105px; ?

    Ansonsten probier mal ob folgendes klappt (wie gesagt, floatende DIVs mit Breitenangaben in Prozent sind höchst kritisch)

    #content-main { float: left; width: auto !important; width: 100% }

    Voraussetzung allerdings, dass Du diese linke Spalte rausnimmst, die so keinen Sinn macht bzw. anders besser gelöst werden kann (s.o.)

    Gruß Marc

    Wenn mal einer sucht, wird er es auch finden... wenn denn mal einer die Suche findet.

    made my day - reloaded - Webdesign Karlsruhe - CMS Anbieter Karlsruhe


  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    25.10.2005
    Beiträge
    86
    Bedankte sich
    6
    Erhielt 19 Danksagungen
    in 16 Beiträgen

    Daumen hoch

    Hallo Marc,

    Vielen Dank, dass Du meinen Code so ausf&#252;hrlich, und vor allen Dingen schnell, analysiert hast.
    Das best&#228;tigt den sehr guten Eindruck von diesem Forum, den andere auch bereits best&#228;tigt haben. Top!

    In der Tat f&#252;hlte ich mich selbst bei der Mischung von <table> und <div> von Anfang an nicht wohl. Die Verwendung von px- und %-Angaben war genau das, was ich gestern Abend wohl nicht mehr so recht als unm&#246;glich wahr genommen hab.

    Ich werde jetzt das ganze ohne <table>s neu aufsetzen und mal sehen was dann daraus wird.

    Viele Gr&#252;&#223;e
    Frank
    Geändert von franks (26.10.2005 um 10:51 Uhr)

  5. #4
    Neu an Board Avatar von Lookover.at
    Registriert seit
    20.05.2010
    Beiträge
    2
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Frage Ähnliches Problem

    Hallo,
    Ich habe ein sehr ähnliches Problem.

    Ich habe nun eine recht aufwendige Websiete von Tablelayout auf Divs umgestellt.
    Wenn ich nun in einen vordefinierte Divbereich (mit dynamischer Höhe) Inhalt eintragen möchte, dann erscheint der Inhalt IRGENDWO also genauer gesagt rechts neben dem Div unter einem weiteren Div.

    Könnt ihrt mich ungefeähr verstehen.

    Und zur Mischung von Tabellen und divs....bin ich im Grunde ganz anderer Meinung.
    weil, was soll man machen, wenn man Content hat, der einfach nur Tabellarisch darzustellen ist.
    Oder was macht man, wenn man ein Redaktionssystem hat, wo Leute Daten eintragen, und HTML erlaubt ist.
    Dabei hat man keinen Einfluss darauf wie die das Eintragen.

    Selbstverständlich muss Tabelle in Div möglich sein.
    Klarerweise sollte zum Aufbau und positionierung des Layouts nur eine Variante gewählt werden.

    lg aus Wien,...
    www.lookover.at

  6. #5
    Neu an Board Avatar von Lookover.at
    Registriert seit
    20.05.2010
    Beiträge
    2
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Ausrufezeichen Selbst beantwortet

    Hallo
    Also ich hab gerade was gefunden.
    So geht.
    Auf diesen Weg kann man scheinbar innerhalb eines divs halbwegs anständig Tabellen darstellen. Aber was ich mit bestehenden Daten, bzw Wie kann ich den Benutzer Tabellen erstellen lassen, welche ich in einem Div darstelle ??


    weiß da jemand was dazu ?


    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
    <html><head><title>display</title>
    <style type="text/css">
    div.table { display:table; border-collapse:collapse; }
    div.tr { display:table-row; }
    div.td { display:table-cell; border:thin solid red; padding:5px; }
    </style>
    </head><body>
    
    <div class="table">
     <div class="tr">
      <div class="td">ich</div>
      <div class="td">bin</div>
      <div class="td">eine</div>
      <div class="td">Tabelle</div>
     </div>
    </div>
    
    </body></html>

    lg aus Wien
    www.lookover.at

+ Antworten

Ähnliche Themen

  1. Tabelle zerschießt nur im IE Design, Hilfe!
    Von J.Oe im Forum Joomla Templates
    Antworten: 3
    Letzter Beitrag: 11.10.2005, 23:03
  2. Hot or Not zerschießt Layout
    Von zecke23 im Forum Bugfixes
    Antworten: 5
    Letzter Beitrag: 25.08.2005, 00:34
  3. Antworten: 1
    Letzter Beitrag: 28.07.2005, 22:07
  4. Module und tabelle
    Von Cane im Forum Allgemeine Fragen zu Mambo 4.5.0
    Antworten: 4
    Letzter Beitrag: 26.01.2005, 21:35
  5. Simpleboard zerschießt Layout
    Von Pest im Forum Mambo 4.5.0 Komponenten
    Antworten: 4
    Letzter Beitrag: 26.09.2004, 18:32

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein