Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
include über css einbinden [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
include über css einbinden


 
Dario_PHP
05-07-2010, 16:54 
 
Hallo zusammen,
ich hab das Problem, dass ich mein iclude der Navigationsleiste in der "print.css"-Datei, für das drucken nicht weg bekomme.
Zurzeit befindet sich das include auf einer Seite in einem Div-Bereich.
In der Print-Css gebe ich den Div-Bereich nicht an, aber die Navi kommt trotzdem.
Sowas wie

include {
display:none;
}

gibt es wohl auch nicht.
Nun dachte ich mir, dass ich mein include direkt in der normalen css-datei angebe und es dadurch verhindern kann, aber ich finde leider nichts dazu.
Weiß jemand wie das geht bzw. ob das überhaupt funktioniert.

 
Kropff
05-07-2010, 17:05 
 
Verpass der Navigation eine ID oder Klasse und arbeite dann mit

.navi {
display:none;
}
#navi {
display:none;
}


Peter

PS: CSS versteht kein PHP

 
goth
05-07-2010, 17:06 
 
Und was ist "include" ... eine Klasse, eine ID???

 
Dario_PHP
05-07-2010, 17:16 
 
Mein code sieht so aus:


<div id='navi'>
<?php
include 'navigation.php';
?>
</div>


Sprich meine id ist navi und in der print.css schreibe ich


.navi {
display:none;
}


oder


#navi {
display:none;
}


aber trotzdem funktioniert es nicht bzw. er entfernt schon den Div-Bereich, aber der Include bleibt drin stehen.
Klar css kann kein PHP, aber wie soll ich das anstellen, die Navi selbst ist javascript.

 
Kropff
05-07-2010, 17:20 
 
Und wie baust du die print.css ein? Hast du den korrekten Medientyp angegeben? Online-Beispiel verfügbar?

Peter

 
Dario_PHP
05-07-2010, 17:23 
 
Im Head-Bereich schreibe ich:

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

Der zieht die auch an, dass sieht man auch...

 
Kropff
05-07-2010, 17:41 
 
Ich vermute, dass innerhalb des "Navi-Divs" noch ein Element ein display: block hat. Kannst du das mal online stellen. Ansonsten empfehle ich dir Firebug für die Fehlersuche.

Peter

 
Dario_PHP
05-07-2010, 17:44 
 
meinst du jetzt die navigation.php?

 
Kropff
05-07-2010, 17:50 
 
meinst du jetzt die navigation.php?
Wenn ich jetzt wüsste, was du meinst. :dontknow:

Peter

 
Dario_PHP
05-07-2010, 17:52 
 
:goth: ich weiß nicht was ich genau online stellen soll

 
derHund
05-07-2010, 17:57 
 
Ein Beispiel, was dein Problem veranschaulicht. Mit
er entfernt schon den Div-Bereich, aber der Include bleibt drin stehen.kann man wenig anfangen.

Wenn du per display:none die Navi ausgeblendet hast, gilt das auch für alle untergeordneten Elemente. Das include wird dennoch ausgeführt (findet ja vor dem CSS statt), aber angezeigt wird der Bereich nicht, zumindest nicht im Browser.

 
Kropff
05-07-2010, 18:00 
 
:goth: ich weiß nicht was ich genau online stellen soll
Alle benötigten Daten. Das solltest du aber am Besten wissen. Wir können da nur raten.

Peter

 
wahsaga
05-07-2010, 22:44 
 
Ich vermute, dass innerhalb des "Navi-Divs" noch ein Element ein display: block hat.
Das wäre egal - wenn ein Vorfahrenelement display:none hat, dann sind damit auch alle Nachfahrenelemente „weg“, egal wie die formatiert sein mögen.

Ich vermute eher fehlerhaften HTML-Code - so dass die Navigation gar nicht wirklich im DIV-Element liegt.

 
Dario_PHP
06-07-2010, 09:23 
 
Sorry das ich mich jetzt erst melde, aber gestern ist mir was dazwischen gekommen.
Ich schicke mal alles relevante, sprich die eigentliche Website in der die Navi im Div-Bereich definiert ist und die css selbst.



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Suchergebnis</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="einstellungen2.css" type="text/css" rel="Stylesheet" media="screen" />
<link rel="stylesheet" type="text/css" href="print.css" media="print" />



</head>
<body id="startseite">

<div id="Hauptrahmen">

<div id="falscheSpalte">
</div>

<div id="navi">
<?php
include 'navigation.php';
?>
</div>


<div id="kopf">
</div>

usw


nun die print.css


body
{
font-family: Verdana, Helvetica, Calibri, Arial, Verdana;
font-size: 12px;
color: black;
}


div#navi
{
display: none;
}


div#falscheSpalte
{
height: 585px;
width:0px;
float: left;
}





Die Navi ist im Div-Bereich und in der print.css ist dieser Bereich definitiv angegeben bzw. wird ausgeblendet. Das lustige ist, dass ich in meiner Druckvorschau sehen kann, dass dieser Bereich auch verschwindet. Das erkenne ich daran, dass alles einrückt, jedoch der PHP-Teil, sprich der Include bleibt...

 
AmicaNoctis
06-07-2010, 09:28 
 
Hallo,

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

Das lustige ist, dass ich in meiner Druckvorschau sehen kann, dass dieser Bereich auch verschwindet.

Dann ist doch alles in Ordnung. Wenn es am Bildschirm verschwinden soll, musst du das Stylesheet für screen befummeln, nicht das für print.

Gruß,

Amica

 
Dario_PHP
06-07-2010, 10:00 
 
Nein nicht wirklich in Ordnung, weil der PHP-Teil nicht ausgeblendet wird...

 
AmicaNoctis
06-07-2010, 10:04 
 
Hast du nicht vor kurzem geschrieben, dass er in der Druckvorschau sehr wohl ausgeblendet wird? Oder meinst du damit etwas anderes?

Außerdem interessieren PHP-Blöcke doch in diesem Falle gar nicht mehr, weil die bereits serverseitig verarbeitet und ersetzt worden sind. Warum konzentrierst du dich also nicht erstmal auf den Code, der beim Client tatsächlich ankommt?

 
Dario_PHP
06-07-2010, 10:18 
 
ja wird er auch, aber nicht der PHP-Teil, sprich:


<?php
include 'navigation.php';
?>


Hab jetzt mal zwei Fotos angehängt, Bild Nr.1 ist die Druckvorschau mit Navi und Bild Nr.2 ist ohne Navi bzw. sollte ohne Navi sein.

 
AmicaNoctis
06-07-2010, 10:26 
 
Sieh dir den Client-Code im Browser an! Da gibt es keinen PHP-Teil.

 
Dario_PHP
06-07-2010, 10:28 
 
joa stimmt, da ist kein PHP-Code, aber Javascript-Code... könnte es daran liegen?

also die Navi ist mit javascript geschrieben, jedoch kommt das erst in der navigation.php, weil ich da noch die ip prüfe und je nach ip auf bestimmte navis verweise... nur zur Erklärung

 
AmicaNoctis
06-07-2010, 10:34 
 
Das hängt ganz davon ab, was der JS-Code macht, z. B. ob er dein Stylesheet oder bestimmte Elemente manipuliert. Aber wissen kann ich es nicht. Deaktivier JS im Browser und sieh selbst nach, ob es daran liegt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:10 Uhr.