Avatar billede carstenandersen Nybegynder
03. oktober 2012 - 12:25 Der er 11 kommentarer og
1 løsning

Generelt om placering af css filer / styles

Hej eksperter

Jeg har kastet mig ud i et større "filmareridt", hvor det viser sig, at flere css koder påvirker hinanden negativt. Inden jeg begynder at "rydde op", skal jeg lige høre om følgende:

1) SKAL css ligges i head-delen? Kan den ikke bare komme på siden, hvor det lige passer. Tænker ikke så meget på validering, men mere, om det kan bevirke fejl?

2) Er det reelt lige meget, om der linkes til et stylesheet, <link rel="stylesheet"  type="text/css" href="filnavn.css"> eller css koden står direkte på på siden, <style type="text/css">......</style>?

3) Hvis man har css koden på siden, kan man så for overskuelighedens skyld lave flere

<style type="text/css">
kode 1
</style>
<style type="text/css">
kode 2
</style>

eller må der kun være en

<style type="text/css">
kode 1
kode 2
</style>

På forhånd tak.
Avatar billede kalp Novice
03. oktober 2012 - 12:38 #1
1 > ja, medmindrer du skriver <link rel="..." />, den må gerne være i body

2 > resultatet bliver det samme, så ja det er teknisk set ligegyldigt

3 > du må gerne have flere
Avatar billede carstenandersen Nybegynder
03. oktober 2012 - 12:45 #2
Super :-) For lige at være sikker omkring nr. 1 - der er så forskel på "koden", alt efter om den ligger i head eller body? Kan du hurtigt vise de 2 koder?
Avatar billede kalp Novice
03. oktober 2012 - 12:46 #3
1 > sorry, <link itemprop="..." />  som må være i body:)
Avatar billede kalp Novice
03. oktober 2012 - 12:49 #4
Beklager forvirringen:) men forskellen lå blot i at man skriver "itemprop", som gerne må benyttes i head samt body:) "rel" må kun benyttes i header
Avatar billede carstenandersen Nybegynder
03. oktober 2012 - 12:52 #5
Kanon, tusind tak for hjælpen.

Smid et svar.
Avatar billede kalp Novice
03. oktober 2012 - 13:21 #6
ingen årsag:)
Avatar billede carstenandersen Nybegynder
03. oktober 2012 - 13:31 #7
Kan umiddelbart ikke få det til at virke. Er koden:

<link itemprop="stylesheet"  type="text/css" href="/css/kontaktformular.css">???
Avatar billede olebole Juniormester
03. oktober 2012 - 14:05 #8
<ole>

Nu skal vi lige passe lidt på  *o)

De ting, kalp skriver, passer under HTML5 - men ikke under andre versioner. Derudover giver nogle af tingene ikke så megen mening under HTML5, heller.

HTML5-attributten itemprop giver ikke mening uden et itemscope - og under HTML5 der er intet i vejen for, at et LINK-element med rel og uden itemprop ligger i BODY.

Det er i princippet er der ikke forskel på et stylesheet i dokumentet og et remote stylesheet. Der er dog den ret væsentlige, teksniske detalje, at et remote stylesheet caches og derfor ikke skal hentes ved hvert sideload.

Sidst, men ikke mindst, lukker man ikke elementer med:

<link ... ... ... />

- under HTML ... heller ikke under HTML5. Under HTML5 har man dog mulighed for at bruge XML-kode, blandet ind mellem med HTML'en - og lukker man såkaldte 'empty' tags som vist ovenfor. Har man endelig brug for iblandet XML, kræves flere kodemæssige tiltag, så den slags lukninger kan ikke stå alene - men det er som sagt ekstremt sjældent, der er brug for det  =)

#7: Nej, koden ser sådan ud:

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


/mvh
</bole>
Avatar billede carstenandersen Nybegynder
03. oktober 2012 - 14:20 #9
olebole, igen kanon hjælp fra din side :-)

Mit problem er formentligt, at nogle elementer bliver lukket ned i min eksisterende "kodejungle" ;-) Min udfordring er, at jeg bruger asp og nogle elementer i css delen skal variere, alt efter udtræk fra database.

Hvis jeg har en løkke og f.eks. trækker 10 tabeller ud. I databasen er angivet tabellens bredde, som jeg vil definere i css. Hvordan kan jeg gøre det bedst? Kan jo ikke bruge <link rel="stylesheet"  type="text/css" href="/css/kontaktformular.css">, da filen kontaktformular.css ikke kan have asp kode, f.eks. width: <% Response.Write rs("Tabelbredde") %>px;

Jeg har derfor eksperimenteret med at includere en asp fil, men det er netop her, at jeg er bange for, at det går galt med lukningen af elementer. Derudover skal css koden også ligge nede i body. Mine 3 spørgsmål er derfor i relation til dette.

Håber, at det giver mening ;-)
Avatar billede kalp Novice
03. oktober 2012 - 14:24 #10
men hvis du har style information gemt i databasen, så giver det egentlig fint nok mening hvis du dynamisk bygger det op og indsætter det med <style type="text/css">

Du kan evt. bruge sessionen til at gemme værdierne i løbende og så til sidst løbe dem igennem.
Mere hvis du vil undgå at have mere en end af disse tags <style type="text/css">
Avatar billede olebole Juniormester
03. oktober 2012 - 14:33 #11
@carstenandersen: Jeg forstår ikke helt problemet. Hvorfor står der i databasen, hvor bred tabellen skal være? Hvorfor står der overhovedet i din database, at der skal være en tabel?

Meningen med en database er at opbevare data - ikke visningsinformationer. Indeholder databasen informationer om opmærkning (HTML), skal disse være adskilt fra de egentlige data. Data og HTML må ikke blandes sammen i databasen. Det får du kun problemer ud af i længden  =)
Avatar billede carstenandersen Nybegynder
03. oktober 2012 - 14:40 #12
Jeg har nok ikke fået skrevet det helt rigtigt, men du har fuldstændig ret ;-)

Tusind tak for jeres hjælp.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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