1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

PHP include(); oder require(); vs. CSS

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von obstbauer, 27.02.07.

  1. obstbauer

    obstbauer Weisser Rosenapfel

    Dabei seit:
    09.09.04
    Beiträge:
    792
    ich habe in ein php dokument index.php eine include(./get.php); bzw. require(./get.php); anweisung eingebaut

    index.php sowie get.php haben verschieden css sources.

    jetzt das problem wenn ich index.php aufrufen wird get.php korrekt im <DIV> ...
    </DIV> angezeigt aber die css-anweisungen von "get.php" werden global auf alles angewendet also auch auf "index.php"... also bg-color usw.

    was kann ich da machen um das zu trennen bzw. zu kaskadieren sodass beide css separat wirken... ?!

    danke für tipps.
     
  2. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Hier musst Du die CSS-Dateien entsprechend formulieren, damit sich die Selektoren nicht überlagern.
     
  3. âne

    âne Kaiser Wilhelm

    Dabei seit:
    20.11.06
    Beiträge:
    173
    Hi Obstbauer.

    Stehen denn in der 'index.php' schon CSS-Anweisungen (also ueber dem imclue();)?

    Viele Gruesse,
    Âne
     
  4. obstbauer

    obstbauer Weisser Rosenapfel

    Dabei seit:
    09.09.04
    Beiträge:
    792
    ok, ich hab halt bei beiden files einen globalen body selektor im css file... wie würdest du das machen?

    so gesehen nicht, da ich ja extern auf ein css file verlinke...
     
  5. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Warum verwendest Du überhaupt mehrere unterschiedliche CSS files? Seperat können die Files nicht wirken, das mußt Du über Selektoren lösen. Außerdem wäre das hochgradig gegen das Konzept von CSS.
    Du solltest das CSS file auch nicht inline in irgendwelchem PHP Code haben, sondern übers Markup im Head importieren. (Ausgenommen sei der sehr spezielle Fall wo man inline CSS per PHP generiert, was Du bestimmt nicht tust.)
    Gruß Pepi
     
  6. Bief

    Bief Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    11.12.06
    Beiträge:
    249
    Du musst dir das mit dem include(); so vorstellen:
    Man hat ein PHP-Script und da, wo sich die Include-Anweisung befindet, da steht für den Browser der komplette Inhalt der get.php, so als gäbe es das include gar nicht.
    Und dann findet der Browser plötzlich zwei verschiedene Stylesheets und nimmt für die kommpletten CSS-Tags das der get.php...
    Wenn du das mit dem div-tag lösen willst, musst du entweder <div style="...">...</div> oder <div class="irgendwas">...</div> schreiben und dann im Styleteil der index.php .irgendwas { color:14px; ... } schreiben...
     
  7. obstbauer

    obstbauer Weisser Rosenapfel

    Dabei seit:
    09.09.04
    Beiträge:
    792
    wird im head importiert... kein inline!
    werde es versuchen zu einem file zusammenzumurksen...:)

    mal sehen, danke für den tip. ich hab mittlerweile auch gemerkt dass immer das zuletzt geladenen CSS file die oberste gültigkeit bei überschneidungen hat.
     
  8. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Zum Beispiel mit unterschiedlichen IDs arbeiten und darauf achten, dass dieses sich nicht gegenseitig verheddern. Dann kannst mit

    #rapunzel p {
    margin: 0;
    padding: 0;
    }

    #haare p {
    margin: 1em;
    padding: 1em;
    }

    entsprechend getrennt selektieren.
     
  9. obstbauer

    obstbauer Weisser Rosenapfel

    Dabei seit:
    09.09.04
    Beiträge:
    792
    also heisst ich kann die globale body variable entsprechend weglassen und statdessen eine class einsetzen?
    sprich:
    body im css-file als .bodyprefs definieren und dann im php doc
    Code:
    <body class=bodyprefs> ... </body>
    benutzen?
     
  10. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Da kann ich dir jetzt nicht mehr so ganz folgen, denn das kommt letztendlich auf das Ergebnis an (was wir hier nicht sehen).
     
  11. obstbauer

    obstbauer Weisser Rosenapfel

    Dabei seit:
    09.09.04
    Beiträge:
    792
    Code:
    body {
    	background: #fff;
    	border: solid 0px #333;
    
    	border-top: solid 0px #565;
    	color: #000;
    	font-family: 50% Verdana, Arial, Helvetica, sans-serif;
    	
    	margin: 0;
    	padding: 0;
    }
    das ganze sollte wenn das klappt einfach so aussehen
    Code:
    .bodyprefs {
    	background: #fff;
    	border: solid 0px #333;
    
    	border-top: solid 0px #565;
    	color: #000;
    	font-family: 50% Verdana, Arial, Helvetica, sans-serif;
    	
    	margin: 0;
    	padding: 0;
    }
    
    die body variable ist also durch die klasse "bodyprefs" ersetzt und greift somit nicht mehr global in bodytags ein...

    oder hab ich da was falsch verstanden?
     

Diese Seite empfehlen