/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
css på flere sider?
Fra : Casper H - OldTraffo~


Dato : 21-04-03 20:14

Nu da der ikke findes en css nyhedsgruppe, spørger jeg her, da problemet
også omfatter php...


Jeg vil såmænd bare høre hvordan man inddeleer ens side i flere stylesheets,
og om man kan gøre det så de indgår i include.

dvs. jeg har fx. min menu i venstre side på min index, som er i en include.
på den menu side vil jeg gerne have et bestemt stylesheet(ang. links) og på
resten af siden skal den være en helt anden....
Hvordan gør man det?
har prøvet at gøre som der står på html.dk, men syntes det virker ikke(måske
har jeg jogrt det forkert)

De to stylesheets jeg har virker dog fint, når jeg bruger et af dem på hele
siden....



 
 
Leonard (21-04-2003)
Kommentar
Fra : Leonard


Dato : 21-04-03 20:23

"Casper H - OldTrafford.dk" <webmaster@oldtrafford.dk> wrote:

>Nu da der ikke findes en css nyhedsgruppe, spørger jeg her, da problemet
>også omfatter php...

Den rette gruppe til CSS er dk.edb.internet.webdesign.html, som jeg
har forsøgt at sætte FUT til. Dvs at tråden gerne skulle være der
fremover.

>Jeg vil såmænd bare høre hvordan man inddeleer ens side i flere stylesheets,
>og om man kan gøre det så de indgår i include.

Du bruger class:
..menu {stil-ting-til-menu-her}
og pakker din menu ind i <div class="menu">

Det har ikke noget med php at gøre.
--
med venlig hilsen
Leonard - http://leonard.dk/

Casper H - OldTraffo~ (21-04-2003)
Kommentar
Fra : Casper H - OldTraffo~


Dato : 21-04-03 21:49


"Leonard" <dette.er.ikke.en.mail@der.virker.invalid> skrev i en meddelelse
news:71h8av8qocda9abmqke12q2or04h7phjn5@4ax.com...
> "Casper H - OldTrafford.dk" <webmaster@oldtrafford.dk> wrote:
>
> >Nu da der ikke findes en css nyhedsgruppe, spørger jeg her, da problemet
> >også omfatter php...
>
> Den rette gruppe til CSS er dk.edb.internet.webdesign.html, som jeg
> har forsøgt at sætte FUT til. Dvs at tråden gerne skulle være der
> fremover.
>
> >Jeg vil såmænd bare høre hvordan man inddeleer ens side i flere
stylesheets,
> >og om man kan gøre det så de indgår i include.
>
> Du bruger class:
> .menu {stil-ting-til-menu-her}
> og pakker din menu ind i <div class="menu">
>
> Det har ikke noget med php at gøre.
> --
> med venlig hilsen
> Leonard - http://leonard.dk/


Det virker ikke...jeg har gjort flg.:
http://www.pastebin.com/7347
men det virker slet ikke...farverne bliver de sædvanlige lilla....



Jesper Brunholm (22-04-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 22-04-03 13:57

Casper H - OldTrafford.dk wrote:
> Det virker ikke...jeg har gjort flg.:
> http://www.pastebin.com/7347

Jeg kan ikke læse noget på det link - har du en side hvor du har
CSS-problemet?

mvh

Jesper Brunholm

--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Leonard (22-04-2003)
Kommentar
Fra : Leonard


Dato : 22-04-03 14:16

"Casper H - OldTrafford.dk" <webmaster@oldtrafford.dk> wrote:

>Det virker ikke...jeg har gjort flg.:
>http://www.pastebin.com/7347
>men det virker slet ikke...farverne bliver de sædvanlige lilla....

Giv os et link til din side, hvor problemet er, så kan vi se hvad der
sker. Det kan godt være at pastebin.com ser smart ud, men det er meget
nemmere med et link til siden, så er vi også fri for at mangle noget.
--
med venlig hilsen
Leonard - http://leonard.dk/

Lars Dybdahl (22-04-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 22-04-03 07:49

Casper H - OldTrafford.dk wrote:
> Jeg vil såmænd bare høre hvordan man inddeleer ens side i flere
> stylesheets, og om man kan gøre det så de indgår i include.

CSS er en dejlig ting - hvis det bare virkede... desværre er der lidt for
mange browsere, der ikke håndterer stylesheets korrekt. Det er nemlig
ifølge standarden mulig at lægge stylesheetet i en separat fil, og det er
muligt at lave nedarvning. Men gør man begge dele, virker det ikke i
adskillige browsere.

Jeg har en løsning, der virker på alle CSS-kapable browsere:
- Læg stylesheets i php-filer, og så bruge include() eller require().
- Sørg for at alle stylesheet informationer lander i <head></head> delen.
- Hvis du har flere stylesheets, så læg dem lige efter hinanden inden for
samme <style></style> blok. Hvis den ene nedarver fra den anden, så sørg
for at de kommer i rigtig rækkefølge.

> include. på den menu side vil jeg gerne have et bestemt stylesheet(ang.
> links) og på resten af siden skal den være en helt anden....

Brug navngivningen af dine styles til at adskillige separate stylesheets til
forskellige dele af din side. Så dine p-tags i menuen hedder <p
class="menu"> og dine p-tags i resten af siden hedder <p class="body">.

Lars.

--
Freelance programmør
Programmering mod timebetaling

Jesper Brunholm (22-04-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 22-04-03 09:13

Lars Dybdahl wrote:
> CSS er en dejlig ting - hvis det bare virkede... desværre er der lidt for
> mange browsere, der ikke håndterer stylesheets korrekt. Det er nemlig
> ifølge standarden mulig at lægge stylesheetet i en separat fil, og det er
> muligt at lave nedarvning. Men gør man begge dele, virker det ikke i
> adskillige browsere.

Den må du meget gerne uddybe lidt - jeg kender ikke til nogen browsere
som ikke understøtter eksternt stylesheet (jo - Netscape3 osv, men det
er vel næppe det du tænker på)

Derudover så var det rigtigt nok at debatten om stylesheets hører hjemme
i d.e.i.w.html, så der har jeg sat FUT til

mvh

Jesper Brunholm


Lars Dybdahl (22-04-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 22-04-03 10:41

Jesper Brunholm wrote:
> Den må du meget gerne uddybe lidt - jeg kender ikke til nogen browsere
> som ikke understøtter eksternt stylesheet (jo - Netscape3 osv, men det
> er vel næppe det du tænker på)

Det er kombinationen af eksterne stylesheets og nedarvning, der giver
problemer. Begge virker hver for sig i stort set alle browsere, men sammen
er der visse browsere, der ikke kan lide. Jeg kan ikke huske, hvilke, jeg
havde problemet med, men det var højst sandsynligt Microsoft Internet
Explorer eller Opera.

> Derudover så var det rigtigt nok at debatten om stylesheets hører hjemme
> i d.e.i.w.html, så der har jeg sat FUT til

Bortset fra, at jeg absolut ikke bryder mig om, at folk FUT'er over i
nyhedsgrupper, som jeg ikke abonnerer på, så har du jo ikke ret. Løsningen
på dette CSS problem er jo netop at bruge php's include() funktion, så man
kan have et centralt liggende CSS stylesheet, som inkluderes i alle
websiderne, så det overfor browseren ser ud til at de ligger i html-filen.

Lars.

--
Freelance programmør
Programmering mod timebetaling

[5000] Jesper Brunho~ (22-04-2003)
Kommentar
Fra : [5000] Jesper Brunho~


Dato : 22-04-03 12:05

Lars Dybdahl wrote:
>>Den må du meget gerne uddybe lidt - jeg kender ikke til nogen browsere
>>som ikke understøtter eksternt stylesheet (jo - Netscape3 osv, men det
>>er vel næppe det du tænker på)
>
> Det er kombinationen af eksterne stylesheets og nedarvning, der giver
> problemer. Begge virker hver for sig i stort set alle browsere, men sammen
> er der visse browsere, der ikke kan lide. Jeg kan ikke huske, hvilke, jeg
> havde problemet med, men det var højst sandsynligt Microsoft Internet
> Explorer eller Opera.

Det var godt nok ikke ret konkret. Jeg holder fast i at det ikke er
noget væsentligt problem, og at det stadig er en fordel at have den
caching-effekt som et eksternt stylesheet giver.

> Bortset fra, at jeg absolut ikke bryder mig om, at folk FUT'er over i
> nyhedsgrupper, som jeg ikke abonnerer på,

Det kan jo løses midlertidigt

så har du jo ikke ret. Løsningen
> på dette CSS problem er jo netop at bruge php's include() funktion, så man
> kan have et centralt liggende CSS stylesheet, som inkluderes i alle
> websiderne, så det overfor browseren ser ud til at de ligger i html-filen.

Tjah - grunden til at jeg futtede var jo at der i den relevante gruppe
er flere der kan af- eller bekræfte idéen om manglende understøttelse af
eksterne stylesheets og nedarvning end her.

Da det derudover ikke er dit PHP-løsningsforslag, men CSS
funktionaliteten vi debatterer, forstår jeg ikke helt at du ikke bare
abonnerer på en ekstra gruppe i to dage, men fred være med det :)


mvh

Jesper Brunholm


Lars Dybdahl (22-04-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 22-04-03 12:34

[5000] Jesper Brunholm wrote:
> Jeg holder fast i at det ikke er
> noget væsentligt problem

Hvad er ikke noget væsentligt problem, at ens websider ikke ser korrekt ud
hos brugeren?

> og at det stadig er en fordel at have den
> caching-effekt som et eksternt stylesheet giver.

Øh - har du tænkt over det? Hvad er latency i at hente et ekstra dokument
cache det osv., og hvad tid tager det at overføre? Mange af mine CSS
stylesheets er på 1 kbyte eller mindre, og tager dermed 125ms at overføre
på en 64kbps linie, eller 5ms på en 2Mbps ADSL linie. Latency ved at putte
dit stylesheet i et andet dokument er rimelig høj - en 64kbps linie
introducerer i sig selv 30ms latency, som du skal gange med en eller anden
faktor, og en harddisk søgetid er stadigvæk omkring de 10ms i
størrelsesorden.

Og så er der den helt banale: Hvis din browser bruger samme tcp forbindelse
til at hente stylesheetet, så kommer stylesheetet først EFTER, at html
filen er hentet, hvorimod browseren i mit tilfælde får stylesheetet først.
Det betyder, at browseren i mit tilfælde kan begynde at tegne siden, som
den skal se ud, lige fra start, hvorimod i dit tilfælde kan det tage sin
tid før den kommer igang. Og hvis den ikke bruger samme tcp-forbindelse, så
tænk på, hvor lang tid det tager at opbygge en ekstra tcp-forbindelse, når
der allerede er en primær tcp-forbindelse til nedhentning af html-siden.

Hvis din HTML forside er på f.eks. 24kbyte, og dit stylesheet på 1kbyte,
hvilket er meget realistisk, så vil dit tilfælde hente stylesheetet på lidt
over 3 sekunder med 64kbps, hvorimod mit ville hente det på under 0,15
sekund. Selv ved relativt store stylesheets er forskellen markant. Og husk,
at ved http 1.1, skal der alligevel lige laves en tcp-forbindelse, før
cache-udgave kan anvendes, medmindre du selvflg. også laver det eksterne
stylesheet med php og bruger Header() til at modificere
cache-oplysningerne. Og så er spørgsmålet igen lavet om til et
php-spørgsmål.

Prøv at lave to udgaver af en hjemmeside - en med stylesheet i index-filen,
og en med separat stylesheet. Næsten uanset opkoblingsmetode, vil du finde,
at en standard browser vil kunne vise den udgave hurtigst, som har
stylesheetet indbygget i index-filen.

Lars.

--
Freelance programmør
Programmering mod timebetaling

Jesper Brunholm (22-04-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 22-04-03 13:54

Lars Dybdahl wrote:
> Hvad er ikke noget væsentligt problem, at ens websider ikke ser korrekt ud
> hos brugeren?

Når du ikke vil angive et specifikt problem med en specifik browser så
må jeg holde fast i at mine erfaringer er at det virker fint hos
brugeren. Jeg har til gengæld oplevet at Netscape4 havde problemer med
noget inline (og in-doc) style som virkede når det blev lagt eksternt.

> Og så er der den helt banale: Hvis din browser bruger samme tcp forbindelse
> til at hente stylesheetet, så kommer stylesheetet først EFTER, at html
> filen er hentet, hvorimod browseren i mit tilfælde får stylesheetet først.

Hvis det virkeligt er et problem så er jeg overbevist om at de
intelligente udviklere er i fuld gang med at lave browsere som først
henter link rel stof fra head-sektionen og derefter begynder på resten
af siden.

Hvad resten af din udredning angår må jeg blankt erkende at jeg ikke har
protokolkundskaber til at argumentere for eller imod. Du ser ud til at
vide meget om det, så du har sikkert ret .

Jeg føler stadig at det er lidt mærkeligt at løse stylesheetvedhæftning
med php-include, men det er muligvis mere med solid rod i en reaktinær
tankegang om at jeg ved at det jeg har gjort hidtil fungerer godt og går
pænt stærkt selv med 56k-modem .
Hvad din foreslåede test angår: med et 8kb stylesheet kan jeg ikke
registrere nogen som helst forskel.

mvh (og EOD herfra i den her gruppe hvor jeg stadig mener jeg er OT på
det her emne)

Jesper Brunholm


Casper H - OldTraffo~ (22-04-2003)
Kommentar
Fra : Casper H - OldTraffo~


Dato : 22-04-03 21:10


"Lars Dybdahl" <lars@dybdahl.net> skrev i en meddelelse
news:3ea4e5e8$0$42592$edfadb0f@dread11.news.tele.dk...
> Casper H - OldTrafford.dk wrote:
> > Jeg vil såmænd bare høre hvordan man inddeleer ens side i flere
> > stylesheets, og om man kan gøre det så de indgår i include.
>
>[klip]
>
> Jeg har en løsning, der virker på alle CSS-kapable browsere:
> - Læg stylesheets i php-filer, og så bruge include() eller require().
> - Sørg for at alle stylesheet informationer lander i <head></head> delen.
> - Hvis du har flere stylesheets, så læg dem lige efter hinanden inden for
> samme <style></style> blok. Hvis den ene nedarver fra den anden, så sørg
> for at de kommer i rigtig rækkefølge.
>
> > include. på den menu side vil jeg gerne have et bestemt stylesheet(ang.
> > links) og på resten af siden skal den være en helt anden....
>
> Brug navngivningen af dine styles til at adskillige separate stylesheets
til
> forskellige dele af din side. Så dine p-tags i menuen hedder <p
> class="menu"> og dine p-tags i resten af siden hedder <p class="body">.
>
> Lars.
>
> --
> Freelance programmør
> Programmering mod timebetaling


Jeg har nu prøvet, men det virker ikke....
Jeg gør sådan her:
inde i head har jeg flg.:
<style type="text/css">
a.menu {
a:link {color:#FFFFFF; background:transparent; text-decoration:none}
a:visited {color:white; background:transparent; text-decoration:none}
a:hover {color:#000000; background:transparent;}
a:active {color:white; background:transparent; text-decoration:none}
}
a.index {
a:link {color:#000000; background:transparent; text-decoration:none}
a:visited {color:#000000; background:transparent; text-decoration:none}
a:hover {color:#000000; background:transparent;}
a:active {color:#000000; background:transparent; text-decoration:none} }

</style>

på siden har jeg flg.:
<p div class="menu">
<?php include("menu/menu.php"); ?></p>

<p class="index">
<?php include("news1.php"); ?> </p>

men det virker ikke....udover den loader langsommere




Lars Dybdahl (22-04-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 22-04-03 22:19

Casper H - OldTrafford.dk wrote:
> Jeg har nu prøvet, men det virker ikke....
> Jeg gør sådan her:
> <style type="text/css">
> a.menu {
> a:link {color:#FFFFFF; background:transparent; text-decoration:none}

Det ser mærkeligt ud - om du må sådan i henhold til moderne CSS
specifikationer, ved jeg ikke, men det kan du sikkert finde ud af i CSS
relaterede nyhedsgrupper. Umiddelbart vil jeg mene, at dit stylesheet er
ukorrekt.

> på siden har jeg flg.:
> <p div class="menu">
> <?php include("menu/menu.php"); ?></p>


Hvad laver den div inde i p-tag'et? Den er vist fejlplaceret. Og i øvrigt
kan du ikke sætte class=menu på alt inde i menu.php på nogen måde - det er
alle tags inde i menu.php, der hver og en skal have en class= angivelse.

Kig evt. på koden til http://www.euroeliteforce.net/ - ikke fordi koden
(eller siden) er verdens smukkeste, men den virker, og er lavet med mere
php-kode end html-kode.

Hvis du undrer dig over, hvordan man "gider" sætte class= på hver og en tag,
så husk, at en af php's styrker jo netop er, at du kan samle gentagelser i
en function. Kildekoden til ovennævnte link kan ses her:

http://www.euroeliteforce.net/index.phps

Koden til layout.php, som indeholder stylesheetet, kan ses her:

http://www.euroeliteforce.net/layout.phps

Som sagt er det ikke verdens kønneste kode, udviklet som lap-på-lap løsning
gennem et godt stykke tid og uden nogen ambitioner om noget som helst.

Lars.

--
Freelance programmør
Programmering mod timebetaling

Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408534
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste