Inline

  • Als Inline bezeichnet man CSS-Stile, die entweder direkt im Seitenquelltext über das Style-Attribut gesetzt werden.


    Beispiel:

    Code
    <p style="margin-top: 10px; color:red;">Der Text</p>

    ist ein Inline-Stil.


    Gegenbeispiel:

    Code
    <p class="irgendwas">Der Text</p>

    wobei die Css-Klasse z.B. in einer CSS-Datei steht, z.B. so

    Code
    .irgendwas
    {
    margin-top: 10px; color:red;
    }

    Dann ist das kein Inline-Stil.


    Befindet sich aber z.B. im Kopfbereich <HEAD> des Templates so was

    Code
    <style>
    .irgendwas
    {
    margin-top: 10px; color:red;
    }
    </style>

    nennt sich das auch "Inline". Weil es eben direkt im Seitenquelltext steht und nicht in einer externen Datei.


    Beim Protostar findest bspw. diesen Block im Seitenquelltext der gerenderten Seite:


    Wenn du dann mit dem Inspektor eine h2-Überschrift inspizierst, findest als "Inline" markiert

    Code
    h1, h2, h3, h4, h5, h6, .site-title {
    font-family: 'Open Sans', sans-serif;
    }

    In der Protostar-index.php sind die Stellen recht leicht zu finden, die sich durch Ändern der Einstellungen im Template-Stil im Backend dann ändern.

    z.B. die Google-Font-Einstellung

    https://github.com/joomla/joom…otostar/index.php#L61-L64


    oder die Template-Farbe, die sich auf diverse Elemente auswirkt

    https://github.com/joomla/joom…otostar/index.php#L67-L88


    Je nach Template leichter oder schwerer zu finden.


    Außerdem können auch andere Erweiterungen Inline-Stile setzen wie es ihnen gefällt. Das passiert dann häufig, aber nicht immer, durch dieses magische addStyleDeclaration(...). Auch Einstellungen im Template-Stil können einen Umweg über z.B. Plugins gehen, durch die sie dann ausgewertet und gesetzt werden oder mit einer Template-Helfer-Datei, die ein Template mit require oder include einbindet.


    Kurz: Es gibt keine einzig wahre Antwort auf deine Frage.


    Aber: Du kannst Inline-Stile auch via deiner eigenen CSS-Datei überschreiben ("overrulen"). Das Overrulen muss dann nur heftig genug gemacht werden, bspw. durch !important-Regeln und/oder hierarchisch höher stehenden Regeln.

  • Mir geht es nicht um die Breite, sondern um das einfügen des Hintergrund.


    Selbst für das einstellen der Breite muss ich zwei Einstellungen machen. Eine davon ist in Inline 5. Auch das ist nicht zu finden. Warum werden die neuen Tempalates so kompliziert gemacht?

  • Warum werden die neuen Tempalates so kompliziert gemacht?

    Also, ich kenn das so, seit ich Content Management Systeme kenne und das ist verdammt lange, viel zu lange ;)

    Und ein "neues Template" ist das nicht ;)

    Mir geht es nicht um die Breite, sondern um das einfügen des Hintergrund.

    Du kannst in einer CSS-Datei beliebig viele weitere Regeln für den .container einfügen!!!!


    Ich kenn mich aus dem Stegreif nicht aus, in welche man am besten eigene Regeln hinzufügt (soweit ich sehe, ist das ein Helix-Template), aber es gehört dann rein

    CSS
    .container
    {
     background-color: green !important;
    }

    Du suchst dir also bei der Inline-Auszeichnung den Selektor raus, in meinem Beispiel ".container" und fügst ihn in eine CSS-Datei ein, die möglichst spät geladen wird und dort ans Ende. Un, wenn du dann noch da !important dazumachst, ist die Wahrscheinlichkeit groß, "dass du gewinnst".

  • Eine davon ist in Inline 5. Auch das ist nicht zu finden. Warum werden die neuen Tempalates so kompliziert gemacht?

    Templates sind immer Sache der Entwickler dieser Templates und hat so gesehen nichts mit Joomla zu tun. Auch nicht, ob das ein neues oder uraltes Template ist.

    Wo du es finden kannst, hat die Re:Later oben erklärt.

    Ich kann mir aber auch sehr gut vorstellen, dass es im Template selber einen Einstellungsbereich gibt. Neuere Templates haben sowas oft. Dort mal schauen, ob du an den Hintergrund kommst oder benutzerdefinierte Einstellungen machen kannst.


    Ansonsten versuche mal folgendes:

    Gehe in die Datei /templates/jm_finance/css/template.css


    Und schreibe ganz am Ende das hier:

    CSS
    #sp-main-body-wrapper {
        background-image:url("pfad/bild.jpg") !important;
    }

    Sofern du den Hintergrund verändern willst. So ganz verstanden habe ich nämlich nicht, was du eigentlich machen möchtest.



    EDIT:

    Bin viel zu langsam mit dem Schreiben. Re:Later war mal wieder schneller ;)



    Axel

  • Aber ich werde mir ein anderes Template suchen, wo dieses Inline nicht auftaucht.

    Da wirst du wenig Chancen haben. Das müsste schon extrem puristisch sein.


    Ist doch nur ein einfaches Verständnisproblem auf deiner Seite bzgl. CSS. Du bist im Moment einfach komplett blockiert wegen diesem (fast) vollkommen zu vernachlässigen "Inline"-Begriff. Man muss dieses CSS nicht an der Code-Stelle ändern, wo es auftaucht bzw. generiert wird.


    Wenn du zukünftig Bilder UND Links zum Problem postest, findet sich immer wer, der dir bei CSS-Problemen sogar fertige Lösungen anbietet. Irgendwann klingelt's dann bei dir.

  • Wie die Kollegen schon schreiben. In meinem Code steht das "!important". Damit sorgst du dafür, dass eine Klasse mit dem Style überschrieben wird, bzw. die Priorität zugunsten der Formatangaben die vor "!important" stehen, geändert werden.

    Einzig und allein: ich kann dir hier nicht sagen, wo genau du es hinschreiben musst.


    Wenn du magst, richte mir einen temporären SuperAdmin ein, den du hinterher wieder löschen kannst, sende mir die Zugangsdaten an meine eMail (die PMs hier sind ausgeschaltet) und ich schau mal rein und mache dir "mal eben schnell" den Hintergrund ;)

    tueting@time4mambo.de



    Axel