Artikeldarstellung

  • Hi Leute...

    Hab da ne Frage!

    Wenn ich ein Artikel einstelle habe ich den passenden Text unter dem Artikelbild!
    Wie bekomme ich es hin, daß der Text fein rechts vom Bild dargestellt wird?

    Im Adminbereich ist alles sauber nur wenn ich dann im Frontend schaue habe ich den Text unter dem Bild!

    Habe auch schin in der CSS style stunden gesucht aber irgendwie find ich da nichts!

    Ich schätze es müsste in diesem Bereich sein...

    Würde auch glatt den Link posten aber das ganze liegt bei mir auf dem Heimserver!

    Kann mir da einer helfen, oder ist es der falsche schnipsel?!

    Danke im vorraus

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hi...

    erst einmal danke für das Script!

    Das hatte ich aber auch schon einmal eingefügt aber das komische ist...

    Mir ist gerde aufgefallen, daß die alten Artikel durch diesen Script sauber angezeigt werden!

    Nur die neuen Artikel (die ich nach diesem Script schreibe) werden dann komplett übereinander angezeigt :shock:

    Den Schnipsel ([COLOR=DarkRed].alignleft{float: left;}[/COLOR] ) habe ich einfach am Anfang der styles.css gesetzt.

    Im Backend habe ich dann das Bild links gebunden!

    Schaue ich dann auf der HP nach sind die ersten 2 Artikel fast übereinander und die älteren sind sauber (wie es sein muss) untereinander!

    Fällt dir da noch was ein, ohne in die Glaskugel schauen zu müssen?! Ich weiss es nämlich sonst nicht so recht zu erklären :oops:

  • Ich fürchte, da hilft nur ein zweiter Blick in das Style Sheet. Entweder Du gibst mal deine style.css als Anhang mit oder Du sagst, wo wir die Website finden.

  • Also ich füge den style.css hier als Schnipsel ein!

    Vielleicht hilft das ja dann mal weiter! Die Page kann ich wie gesagt nicht hochladen, weil der hier auf dem Homeserver liegt und der Kollege für den ich das mache ist momentan nicht zu erreichen um die FTP Daten zu bekommen!
    [COLOR=DarkRed]
    Also hier der ellenlange Schnipsel in 2 Teile[/COLOR]

  • [COLOR=DarkRed]Hier der 2. Teil[/COLOR]

    Danke fürs Helfen ;-)

  • Aus irgendeinem Grund konnte ich es nicht als Anhang mit Hochladen! Von daher bitte ich zu entschuldigen, daß ich es so splitten musste!

  • Ich fürchte, ohne URL kann ich Dir da wenig helfen, da man nur raten oder erahnen kann, welche Klassen und IDs des Stylesheets welchen Bereich betreffen.

    Grundsätzlich gibt es bei Cascading Style Sheets die Möglichkeit, Elemente mit dem Befehl float:left links anzuordnen und von rechts von weiteren Elementen umfließen zu lassen. Das setzt jedoch voraus, dass rechts genügend Platz für weitere Elemente ist. Ist dies nicht der Fall, werden sie untereinander gezeigt. Zusätzlich zu der Anweisung "setz das Bild nach links und lass es rechts von anderen Elementen umfließen" müsste man sich eben so auch die Abmessungen anschauen, damit die anderen Elemente genügend Platz haben. (Die CSS-Grundregel heißt ja auch: Kein "float" ohne "width".)

    Also, poste noch die URL damit man sich das anschauen kann und vielleicht geht es dann weiter.

  • Hi und guten Morgen (oder Mittag :-P )

    Das hätte ich auch wirklich schon früher machen können!

    Also da das ganze ja noch nicht auf den Server ist, kann ich dir ja den Link zur Demo posten (ich depp) :oops:

    Hier der Link
    http://www.dizenoco.com/demo/category/corporate-branding/

    Die Problematik ist wie folgt...

    Wenn ich alles so lasse, dann sieht es bei mir so aus:
    1. Die Headline
    2. Author usw.
    3. Bild
    4. Text

    Da ich nicht weiss wie ich die Darstellung wie in der Demo realisieren kann für meinen Kumpel habe ich mir gedacht ich mache es klassisch!

    Sprich kleines Bild (jeweils im einzelnen Artikel links oben in der Ecke) und den Text umfliessen lassen. Halt wie in "Twentyten" Theme auch!

    Geb ich dann den Schnipsel [COLOR=DarkRed].alignleft{float: left;} [/COLOR][COLOR=DarkRed][COLOR=Black]ein, dann wird der Contentbereich[/COLOR][/COLOR] (unfachmännisch ausgedrückt) neu verschachtelt! Der erste Artikel ist dann noch relativ sauber aber der 2 und der dritte Artikel liegen fast übereinander!

    Habe dann weiter in der CSS getestet, aber leider ohne positiven Ergebniss. Weil irgendwo der Float nicht stimmt oder was auch immer!

    Ich hab wirklich Stunden damit verbracht Foren zu durchkämmen und in der Wiki zu schauen! Aber entweder es ist in der CSS [COLOR=DarkRed]UND [/COLOR]wo anders eingebunden, oder ich sehe den Wald vor lauter Bäumen nicht mehr.

    LG und dane für die bisherige Hilfe und evtl. kommende

    PS.: Ich habe im Anhang die darstellung mit dem Float beigelegt! Hoffe das hilft das ganze zu verdeutlichen!

  • danke fuers bild mit den fehlanordnungen;

    versuch, das hier in die style.css einzufuegen:

    Code
    .entrytitle h2 { clear:both; }



    oder alternativ vielleicht auch:

    Code
    .seperator { clear:both; }




    hoffentlich schiebt das den titel des jeweils folgenden posts unter das bild des vorgaengers.

  • Hat da keiner ne Idee wo man da was abändern muss?! :oops:

    Och, naja, jede Menge Ideen. Aber "mal eben so" ein Theme anpassen …

    Also, nehmen wir mal an, Du möchtest folgendes Layout: Artikel-Überschrift, darunter links ein Bild und rechts der Text. Dann hast Du (vereinfacht) innerhalb der Loop folgendes PHP:

    PHP
    <h2 class="entry-title"> <!-- Titel des Artikels -->
      <a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a>
    </h2>
    
    
    <div class="entry-content">  <!-- Inhalt des Artikels, ggf. mit Bild-->
    <?php the_content(); ?>
    </div>

    Gehen wir nun davon aus, dass der (im Editor eingegebene und dann mit Hilfe des obigen PHP-Codes aus der Datenbank abgerufenen) Inhalt aus einem Absatz besteht, der ein Bild enthält:

    HTML
    <p>
     <img src="bild.jpg">
       Hier steht noch ganz viel Text der ein bisschen beschreibt, was im Bild zu sehen ist und was der Sinn des Lebens ist und überhaupt ...
    </p>

    Nun war Deine Frage zunächst: "Wie bekomme ich es hin, daß der Text fein rechts vom Bild dargestellt wird?" Hierfür könnte man das Bild mit float:left nach links setzen:

    HTML
    .links {float: left;}
    (...)
    <p>
     <img src="bild.jpg" class="links">
       Hier steht noch ganz viel Text der ein bisschen beschreibt, was im  Bild zu sehen ist und was der Sinn des Lebens ist und überhaupt ...
    </p>

    Hierdurch wird das Bild nach links geschoben und der Text des Absatzes "umfliesst" das Bild. Leider ist das aber nur ein Teil der Lösung, denn

    • ist der Text kürzer als das Bild, umfließt auch die Überschrift des nächsten Absatz das Bild (was Dein Layout ziemlich durcheinander bringt)
    • ist der Text länger als das Bild, werden die Zeilen unterhalb (und nicht neben) dem Bild fortgeführt, was auch nicht so richtig prickelnd aussieht. Hübscher wäre jedenfalls eine spaltenweise Darstellung: linke Spalte Bild, rechte Spalte Text.


    Das erste Problem bekommt man recht einfach in den Griff, indem man unter dem Content "einen Schlussstrich" unter die Anordnung zieht:

    PHP
    <div class="entry-content">  <!-- Inhalt des Artikels, ggf. mit Bild-->
    <?php the_content(); ?>
    </div>
    <div style="clear:both"></div>

    Kniffeliger wird es beim zweiten Problem, der Anordnung in Spalten. Erste Idee wäre, z.B. festzulegen:

    HTML
    .links {float: left; width: 150px;}
    .rechts{float: right; width: 350px;}
    (...)
    <p class="rechts">
      <img src="bild.jpg" class="links">
        Hier steht noch ganz viel Text der ein bisschen beschreibt, was im  Bild zu sehen ist und was der Sinn des Lebens ist und überhaupt ...
     </p>

    Das haut ja nun leider gar nicht hin! Das Bild ist Bestandteil des Absatzes (der WordPress-Editor packt jedes <img>-Tag in einen Absatz!) und deshalb würde mit diesem Code erst einmal ein Absatz mit einer Breite von 350px rechts schwebend ausgegeben, in dem dann das Bild links schwebend mit einer Breite von 150px ausgegeben wird. Kurz: Das wollen wir ja nun gar nicht!

    Kann man denn den Text irgendwie direkt ansprechen, etwa mit einem <span>-Tag? Nein, denn wir haben im PHP-Skript nur die Zeile

    PHP
    <?php the_content(); ?>

    (Erfahrene PHP-Anwender würden sich an dieser Stelle vielleicht überlegen, wie man den Inhalt in seine Bestandteile zerlegt und diesen unterschiedliche Klassen zuweist. Immerhin kann man den Inhalt "content" mit <?php $content = get_the_content(); ?> einer Variablen zuordnen, die sich dann weiter bearbeiten lässt … Soviel dazu, wir wollen es nicht unnötig kompliziert machen.)

    Eine weitere Lösung wäre die Eingabe von Tabellen im WordPress-Editor, bei der in der linken Spalte das Bild und in der rechten Spalte der Text steht:

    HTML
    <table>
    <tr>
     <td width="150">
       <img src="bild.jpg">
     </td>
     <td>
      <p>Hier steht noch ganz viel Text der ein bisschen beschreibt, was im  Bild zu sehen ist und was der Sinn des Lebens ist und überhaupt ...</p>
     </td>
    </tr>
      </table>


    Hurra, das Layout sieht ja toll aus. Ist das die Lösung?
    Wohl kaum. Wer will bei jedem Artikel Tabellen anlegen? Das wäre extrem mühsam.

    Deshalb hier noch ein weiterer Lösungsansatz:

    In der functions.php fügen wir folgende Zeile ein:

    PHP
    add_theme_support( 'post-thumbnails' );

    Dies ermöglicht, dass wir im Editor beim Erstellen eines Artikels ein "Artikelbild" angeben. Dieses Artikelbild kann separat vom Inhalt ausgegeben werden:

    Hierzu fügen wir noch ein paar Zeilen im Stylesheet ein:

    HTML
    .bild-links{float:left; width:150px;}
    .entry-content {float:left; width: 350px;}
    .clear{clear:both;}

    Nun sollten Bild und Text sauber voneinander getrennt in zwei Spalten stehen. (Das bei Bild und Text float:left; steht, ist ürbigens kein Tippfehler. Vielmehr werden damit die Elemente von links anfangend nebeneinander gereiht "bis kein Platz mehr ist" oder mit clear:both die Aufreihung abgeschlossen wird.)

    Leider hat auch diese Methode einen Haken: kommt im Text zusätzlich ein Bild vor, steht es in der rechten Textspalte. Das Leben kann echt gemein sein.

    Einmal editiert, zuletzt von bego (30. August 2010 um 18:14)

  • Hiiiii

    Ich danke jeden der sich hier Gedanken zu gemacht hat!

    Die Idee von [COLOR=DarkRed]alchymyth[/COLOR] hat mir weiter geholfen!

    Dieser Schnipsel

    .seperator { clear:both;
    padding : 15px 0 0 0;
    }

    hat mir tatsächlich wieder alles so zurecht gerückt wie es sein sollte!

    Auch dir [COLOR=DarkRed]bego [/COLOR]möchte ich danken für deine Hilfestellung!

    sole bis denne
    JMC

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!