WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Skapa ett css dokument med php (https://www.wn.se/forum/showthread.php?t=1039988)

robincox 2010-01-13 10:31

Skapa ett css dokument med php
 
Jag har en sida vars css styrs med ett gäng variabler, t.ex.

.vansterspalt {

width: <?php echo $vansterspaltsBredd; ?>px;
padding: 0px 15px;

}

Detta innebär att jag måste ha en massa <style> taggar på min index.php vilket inte blir snyggt om man visar källkoden för sidan i en webbläsare.

Det jag undrar är om det istället går att med php skapa ett css dokument och spara ner det till servern? Alernativet skulle vara om det på något sätt går att gömma mina <style> taggar för de som visar källkoden i sina webbläsare.

znap 2010-01-13 10:47

I html-koden:
Kod:

<link rel="stylesheet" href="min_css.php" type="text/css" />
I min_css.php:
Kod:

<?php header('Content-type: text/css'); ?>
body {
 color: <?php ...?>
}
...


allstars 2010-01-13 10:49

Citat:

Ursprungligen postat av robincox (Inlägg 20338916)
Jag har en sida vars css styrs med ett gäng variabler, t.ex.

.vansterspalt {

width: <?php echo $vansterspaltsBredd; ?>px;
padding: 0px 15px;

}

Detta innebär att jag måste ha en massa <style> taggar på min index.php vilket inte blir snyggt om man visar källkoden för sidan i en webbläsare.

Det jag undrar är om det istället går att med php skapa ett css dokument och spara ner det till servern? Alernativet skulle vara om det på något sätt går att gömma mina <style> taggar för de som visar källkoden i sina webbläsare.


Du kan ha en php-fil med css-information och koppla mot databas eller vad du vill.
<link href="css.php" type="text/css" media="screen" rel="stylesheet"/>

Alternativet, som du tar upp är att ha en funktion som genererar en cssfil, och detta är bra i cache-synpunkt.

Nihilnovi 2010-01-14 00:35

lägg till i din root .htaccess file: (apache server)
AddType application/x-httpd-php .css

Detta gör att du kan använda PHP kod helt fritt i .CSS dokument.
Se till att ha <?php Header ("Content-type: text/css");?> på toppen av den CSS filen annars blir det fel i strict doctype.

edit: Tycker bara att CSS filer ska ha .CSS och inte .PHP som någon tidigare i tråden sa, kan bli förvirrande.

allstars 2010-01-14 13:32

Citat:

Ursprungligen postat av Nihilnovi (Inlägg 20339015)
Tycker bara att CSS filer ska ha .CSS och inte .PHP som någon tidigare i tråden sa, kan bli förvirrande.

Förvirrande, för vem? Det spelar ingen roll för användaren eller webbplatsen i sig. För utvecklare får man se till att ha dokumentation. Att ha php-kod i ett css-dokument (med css som filändelse) är minst sagt förvirrande.

KarlRoos 2010-01-14 14:13

Ta en titt på http://net.tutsplus.com/tutorials/ht...our-css-files/

Då ser källkoden bra ut också ;)

Nihilnovi 2010-01-14 15:02

Citat:

Ursprungligen postat av allstars (Inlägg 20339085)
Förvirrande, för vem? Det spelar ingen roll för användaren eller webbplatsen i sig. För utvecklare får man se till att ha dokumentation. Att ha php-kod i ett css-dokument (med css som filändelse) är minst sagt förvirrande.

Det är ungefär som att ha HTML i sina php klasser, det följer en dålig struktur av hela systemet. Jag tycker att CSS kod ska vara i CSS filer, om CSS filen är dynamisk med hjälp av PHP/javascript/annat gör det väl knappast förvirrande.

Man ser liksom inte css sheets med .html som ändelse, eller javascript med .asp, precis som man inte ska ha .php på css sheets.

tartareandesire 2010-01-14 21:42

Citat:

Ursprungligen postat av Nihilnovi (Inlägg 20339100)
Det är ungefär som att ha HTML i sina php klasser, det följer en dålig struktur av hela systemet. Jag tycker att CSS kod ska vara i CSS filer, om CSS filen är dynamisk med hjälp av PHP/javascript/annat gör det väl knappast förvirrande.

Man ser liksom inte css sheets med .html som ändelse, eller javascript med .asp, precis som man inte ska ha .php på css sheets.

Ibland är det betydligt smidigare att använda .php som ändelse. Tror knappast det skadar strukturen överlag, den kan vara precis lika bra (eller dålig) trots detta.

Nihilnovi 2010-01-15 04:58

Citat:

Ursprungligen postat av tartareandesire (Inlägg 20339145)
Ibland är det betydligt smidigare att använda .php som ändelse. Tror knappast det skadar strukturen överlag, den kan vara precis lika bra (eller dålig) trots detta.

Tycker inte att ge en fil fel ändelse är smidigt på något sätt alls, kanske funkar i små företag eller om man är freelancer, men om jag skulle gå runt o döpa css filer med .php eller javascript med .php i projekt som ska hålla en viss internationell standard så skulle projektledarn hänga mig med mina egna skosnören just för att .css finns och känns igen av varje webdesigner som stylesheet, men vi får väl helt enkelt hålla me om att vi har olika åsikter =) Om man nu vet att bara en själv eller en liten grupp folk som man känner kommer ha något att göra med koden så spelar det väl ingen större roll vad man döper saker till, men tycker ändå sånt beteende går emot att ha en viss standard bland alla som sysslar med webdesign i alla dess olika former.

BjörnJ 2010-01-15 06:11

Varför inte .css.php? Eller möjligen tvärt om.
Jag skulle inte förvänta mig att fil.css eller fil.js innehåller PHP-kod. Samtidigt håller jag med om att det inte känns helt rätt att en ren CSS- eller JS-fil heter fil.php, även om den skapas dynamiskt.


Alla tider är GMT +2. Klockan är nu 14:50.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson