tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
389
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    G-Man G-Man ist offline Rookie
    Registriert seit
    Apr 2004
    Ort
    NRW
    Beiträge
    7
    Hi Leute,

    Vorab schonmal sorry, der post wird ein wenig länger Wäre euch aber sehr verbunden, wenn ihr euch die Zeit nehmen könntet um mir aus der Klemme zu helfen

    Ich habe bald keine Haare mehr, darum suche ich bei euch Rat:

    Situation:
    Ich baue eine Website mit Hilfe des CMS Postnuke auf. Zur Zeit sitze ich am Design und habe mit den erstellten Grafiken einfach ein Problem.
    Und zwar befinden sich rechts und links vom eigentlichen Inhaltsteil der Seite sogenannte "Blocks" (wer Postnuke nicht kennt). Diese Blocks können frei wählbare und daher immer verschiedene Inhalte haben.
    Nun sollen um diese Blocks auch Grafiken sein. Es gibt für die linken Boxen ein Template, eins für die center und eins für die rechten blocks.

    Problem:
    Da ich es mit dynamischen Inhalten zu tun habe, müssen die Grafiken auch dynamisch sein. Mein Problem ist nun, die Grafik immer so groß zu halten, wie der Content (also der eigentliche Block).
    Das hört sich alles einfach an, aber so ist es leider nicht
    Links und rechts von einem Block sind jeweils drei Grafiken:
    Eine 'Top', 'Middle' und 'Bottom' Grafik. Nun, warum sind es drei? Ganz einach: die ganze Grafik kann ich nicht in die Länge ziehen, da sich sonst das ganze Bild verziehen würde. Also ziehe ich nur den Mittelteil in die Länge, denn bei dem macht das nichts aus, bzw das Bild verzerrt nicht.

    Hier ein Bild von soeinem Block, wie er zurzeit aussieht: Klickst du hier!
    Gesamt sind es 8 Grafiken: Eine oben, eine unten und jeweils drei an den Seiten. Wobei die obere und untere Grafik nicht interessieren, da diese funktionieren.

    Nun stellt sich immer das Problem, dass wenn sich der Block in die Länge zieht, sich auch komischerweise die Felder der Tabelle vergrößern, die eine feste Höhe angegeben haben (im Code unten zu sehen).
    Hier ein Bild dazu, das dies veranschaulicht: Klickst du hier! (das die Felder der linken Grafiken größer sind, ist korrekt)

    Hier noch der aktuelle Code, wie er im ersten Bild zu sehen ist:
    HTML-Code:
    <!-- Left Sidebox Start -->
    <div>
      <div class="pn-title-lblock" height="25" style="background-image: url(themes/cdvTheme/images/border_top.gif);">
        <!--[$title]-->
      </div>
      <table width="170" cellspacing="0" cellpadding="0">
        <tr>
          <td align="left" style="background: #000000 url(themes/cdvTheme/images/border_left_top.gif) no-repeat top; width: 17px; height: 43px;">&nbsp;</td>
          <td rowspan="3" width="140" style="background-color: #232323;">
            <div class="pn-lblock">
              <!--[$content]-->
            </div>
          </td>
          <td align="left" style="background: #000000 url(themes/cdvTheme/images/border_right_top.gif) no-repeat top; width: 13px; height: 43px;">&nbsp;</td>
        </tr>
        <tr>
          <td style="background: #000000 url(themes/cdvTheme/images/border_left_middle.gif) repeat-y top; width: 17px;">&nbsp;</td>
          <td style="background: #000000 url(themes/cdvTheme/images/border_right_middle.gif) repeat-y top; width: 13px;">&nbsp;</td>
        </tr>
        <tr>
          <td style="background: #000000 url(themes/cdvTheme/images/border_left_bottom.gif) no-repeat bottom; width: 17px; height: 43px;">&nbsp;</td>
          <td style="background: #000000 url(themes/cdvTheme/images/border_right_bottom.gif) no-repeat bottom; width: 13px; height: 43px;">&nbsp;</td>
        </tr>
      </table>
      <div class="pn-bottom-lblock" height="25" style="background-image: url(themes/cdvTheme/images/border_bottom.gif);"></div>
    </div>
    <br />
    <!-- Left Sidebox End -->
    Bisher hatte ich nur eine einzige Lösung, die mein Problem vollkommen beseitigte und alle Gafiken schön anzeigte. Das habe ich hinbekommen, indem ich den mittleren Bilder (bzw den Feldern dieser Bilder) die Höhe * gegeben habe (also height="*"). Das funktioniert jedoch nicht im IE. Firefox schafft das! Ich selbst nutze ja eigentlich auch IE, aber die meißten Nutzer diese Website nutzen eben IE.

    Sorry, für den lagen Psot nochmal! Hoffe aber, ihr könnt mir vielleicht eine Lösung anbieten

    Schöne Grüße,
    G-Man
     
    There are only 10 types of people in the world:
    Those who understand binary, and those who don't!

    Understand it? ;)

  2. #2
    Avatar von nero_85
    nero_85 nero_85 ist offline Mitglied Platin
    Registriert seit
    Jul 2005
    Ort
    Österreich
    Beiträge
    734
    Wenn du willst, dass sich nur die mittleren Grafiken verändern gib deren Tabellenhöhe mit 100% an!

    cya
     
    Als Hirte erlaube mir, zu dienen mein Vater dir. Deine Macht reichst du uns durch deine Hand, diese verbindet uns wie ein heiliges Band! Wir waten durch ein Meer von Blut, gib uns dafür Kraft und Mut. In nomine partris et filii et spiritu sancti...

    KLICK HIER ;)

    Tokio-Hotel's "Durch den Monsun" mal anders.

    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

  3. #3
    G-Man G-Man ist offline Rookie
    Registriert seit
    Apr 2004
    Ort
    NRW
    Beiträge
    7
    Hi!

    Danke für die Antwort, aber das hatte ich auch schon probiert. Das war das erste was ich gemacht habe.
    Aber das Problem ist einfach, dass sich die Tabellenfelder der oberen und unteren Grafiken trotzdem nachziehen.
    Selbst das nich standardiserte Attribut "noresize" hat nicht geholfen.

    Hier noch ein Bild, wie es geklappt hat mit dem 'height="*"' (wie ich im ersten Post mal geschrieben hatte). Das klappt aber nur in Firefox! Und das ist ja leider keine Lösung: Klickst du hier!

    Hoffe ihr wisst noch mehr

    Danke nochmal,
    Grüße, G-Man!
    Geändert von G-Man (01.09.05 um 10:41 Uhr)
     
    There are only 10 types of people in the world:
    Those who understand binary, and those who don't!

    Understand it? ;)

  4. #4
    Avatar von nero_85
    nero_85 nero_85 ist offline Mitglied Platin
    Registriert seit
    Jul 2005
    Ort
    Österreich
    Beiträge
    734
    Hi hat ein bisschen länger gedauert, dafür hab ich aber auch eine Lösung für dich! Ich hoffe du hast kein Problem mit JavaScript.

    also im head-Bereich deiner Page setzt du folgendes skript ein:

    <script language="JavaScript">

    PHP-Code:
    function sb_height(){

    //ANFANG DER FUNKTION FÜR DIE LINKE SIDEBOX

    var height document.getElementById('sl').offsetHeight//ermittelt die höhe des div-layers
    var height height-86//korregiert die variable auf die höhe die benötigt wird
        
    if(height 30){ //wenn die variable größer ist als 30px 
            
    document.getElementById('tdl').setAttribute('height'height); //verändert die höhe der tabellenzelle
        
    }
        else{ 
    //ist die variable kleiner als 30px
            
    document.getElementById('tdl').setAttribute('height''30'); //wird die höhe der tabellenzelle auf 30px gesetzt
        
    }
    }

    //ENDE FUNKTION LINKE SIDEBOX
    </script> 
    Dem body-Tag gibst du noch folgendes Attribut:

    HTML-Code:
    <body onLoad="sb_height();">
    Dem div-layer der den Content aufnimmt gibst du eine id:

    HTML-Code:
    <div id="sl">
    Und dem td-Tag das vergrößert werden soll gibst du auch noch eine id:

    HTML-Code:
    <td id="tdl">
    Für die anderen Sideboxes musst du alles, was zwischen

    Code :
    1
    
    //ANFANG DER FUNKTION FÜR DIE LINKE SIDEBOX
    und
    Code :
    1
    
    //ENDE FUNKTION LINKE SIDEBOX
    steht kopieren, direkt unter dem
    Code :
    1
    
    //ENDE FUNKTION LINKE SIDEBOX
    nochmal einfügen und neue id's einfügen (sr und tdr für die rechte Sidebox). Die id's in der Javascript-Funktion änderst du jeweils zwischen den klammern von
    Code :
    1
    
    getElementById
    (id's immer unter einfachen anführungszeichen setzen. die letzten beiden id's in der funktion müssen gleich bleiben.)

    Das Problem warum mans nicht anders lösen kann liegt wahrscheinlich im row-span! Mehr weiß ich aber auch nicht!

    Ich hoffe das hilft! Bei mir hats problemlos funktioniert!

    cya

    nero_85
    Geändert von nero_85 (02.09.05 um 09:12 Uhr)
     
    Als Hirte erlaube mir, zu dienen mein Vater dir. Deine Macht reichst du uns durch deine Hand, diese verbindet uns wie ein heiliges Band! Wir waten durch ein Meer von Blut, gib uns dafür Kraft und Mut. In nomine partris et filii et spiritu sancti...

    KLICK HIER ;)

    Tokio-Hotel's "Durch den Monsun" mal anders.

    (\_/)
    (O.o) This is Bunny. Copy Bunny into your signature
    (> <) to help him on his way to world domination.

  5. #5
    G-Man G-Man ist offline Rookie
    Registriert seit
    Apr 2004
    Ort
    NRW
    Beiträge
    7
    Hiho!

    Danke für den code. hatte auch schon an JS gedacht, aber bin kein Freund davon!
    Also dein Code , werde den nur noch was aumschreiben
    Habe leider das problem, das meine Seite kein OnLoad beachtet. ich weiß gerade überhaupt ned wieso, aber leider isses so .
    <body onload="...."> interessiert die Seite einfach ned, bzw kein Browser interessierts. is ja ned das erste mal, das ich ne webiste schreibe, aber das habe ich noch ned erlebt :S
    Habe deine Funktion aber einfach mal aufgerufen durch klick auf nen testbutton. Sie verändert zur Zeit nur die Größe einer Box, da die Boxen alle die gleiche ID haben, was nicht erlaubt ist. Das behebe ich aber noch!

    Trotzalledem suche ich weiter nach einer non-js lösung

    Schöne Grüße und danke nochmal!

    G-Man!

    P.S.: ich gebe nicht auf
     
    There are only 10 types of people in the world:
    Those who understand binary, and those who don't!

    Understand it? ;)

Ähnliche Themen

  1. Dynamische Inhalte an Seite anpassen
    Von Philippmode im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 14.11.07, 15:51
  2. Dynamische Inhalte, mit formularen
    Von dj-15 im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 23.03.06, 17:36
  3. Dynamische Inhalte auf der HP
    Von Nagash im Forum PHP
    Antworten: 3
    Letzter Beitrag: 06.11.05, 23:34
  4. dynamische Inhalte - aber wie?
    Von juliusC im Forum .NET Web und Kommunikation
    Antworten: 1
    Letzter Beitrag: 05.09.05, 20:47
  5. javascript und dynamische inhalte
    Von movieclan im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 25.03.02, 19:29