Avatar billede momentu Nybegynder
14. januar 2008 - 12:40 Der er 7 kommentarer og
1 løsning

Masterpage / stylesheet

Hej

Jeg har problemer med at få mine stylesheets til at virke ordentligt.

Jeg er nybegynder og har nu kæmpet med det her længe.

JEg gør følgende:

på min masterpage:         @import 'dash.css';
        @import ('fonts.css');
            @import ('intranet.css');


Det virker også fint så længe "hoved" filerne ligger i roden ligesom .master og .css filerne gør på nuværende tidspunkt.

jeg har så nogle filer i en mappe "dash" - som bruger samme masterfil, men her kan ejg se at .css filerne ikke virker.

Har det noget med placeringen at gøre `? - og hvad kan jeg gøre for at det virker ?

- er der nogen som kan give mig et hint
Avatar billede erikjacobsen Ekspert
14. januar 2008 - 13:01 #1
Du skal ikke bruge en relativ sti - så er der forskel når du kommer ned i en undermappe. Du kan nemmest bruge en sti fra roden:    @import ('/fonts.css'); 
eller bruge ASP.NETs "~"-notation,
Avatar billede momentu Nybegynder
14. januar 2008 - 13:21 #2
nu har jeg prøvet at skrive

        @import '~fonts.css';
            @import ('~intranet.css');
            @import ('~layout.css');

master filen og .css filerne ligger i roden - Og det virker ikke :-(

Tror ikke jeg helt forstår det.
Avatar billede pidgeot Nybegynder
14. januar 2008 - 13:30 #3
~-notationen fungerer ved at du sætter ~/ foran stien relativt til roden, eks. ~/fonts.css. Du har højst sandsynligt set det på et tidspunkt.
Eneste ulempe er dog at det ikke er i alle situationer at ASP.NET parser dette for at konvertere iht. din sides rod - primært når runat="server" ikke er med.

I de situationer hvor den ikke gør, kan du benytte <%= (Request.ApplicationPath+"/").Replace("//","/") %> i stedet for ~/. (Der er uden tvivl en pænere måde, men jeg har ikke kunnet finde en der virker uanset om siden ligger i roden, som man ofte ville gøre på IIS, og samtidigt fungerer når siden starter i et subdir, som med VWD's indbyggede - Request.ApplicationPath er ikke i sig selv nok, ud fra mine erfaringer, og Resolve-metoderne lader ikke til at være umiddelbart tilgængelige når det ikke er en Control man har gang i.)
Avatar billede momentu Nybegynder
14. januar 2008 - 13:56 #4
tak :-)

jeg har gjort følgende:

<link href=<%=(Request.ApplicationPath+"/").Replace("//","/") %>layout.css type="text/css" rel="stylesheet"/>

Jeg kunne ikke få

  @import  ~/fonts.css.  til at virke

gider du oprette et svar pidgeot
Avatar billede erikjacobsen Ekspert
14. januar 2008 - 13:59 #5
Du vil nok kun få "~" til at virke i links <link href="~/fonts.css" ...
Avatar billede momentu Nybegynder
14. januar 2008 - 14:11 #6
ja det virker faktisk også - :-)

jeg er bare glad for at jeg fik det løst og kan komme videre
Avatar billede pidgeot Nybegynder
14. januar 2008 - 14:17 #7
S'gerne. :)

Jeg har aldrig helt fanget hvornår den parser, og hvornår den ikke gør - men prøver konsekvent med ~/ først, da det er noget pænere.
Avatar billede frydenholm Nybegynder
17. januar 2008 - 23:06 #8
Jeg synes ikke rigtig jeg har kunnet få det til at fungere med ~ i et <link href...>

Til gengæld virker følgende for mig
<link href="<%= ResolveClientUrl("css/page.css")%>" rel="stylesheet" type="text/css" />

Læs evt. lidt mere om ResolveClientUrl her
http://www.pluralsight.com/blogs/fritz/archive/2006/02/06/18596.aspx
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester