"alla element som ska ha den bordern" {
border: 1px solid #000;
}
"ett av elementen med border högst upp" {
border-width: 1px 0px 0px 0px;
}
Är det ett bra sätt eller borde jag skriva lite annorlunda?
6 svar · 229 visningar · startad av Tinwëlint
"alla element som ska ha den bordern" {
border: 1px solid #000;
}
"ett av elementen med border högst upp" {
border-width: 1px 0px 0px 0px;
}
Är det ett bra sätt eller borde jag skriva lite annorlunda?
Har alltid skrivit som Tinwëlint skriver och det funkar utmärkt i alla webbläsare.
Jodå det som Tinwëlint skriver är korrekt, men för mig är det tydligare om jag skriver border-top för då kommer jag ihåg vilken det är :)
Mvh
Jan-Olov
Flashes skrev:
Jag skulle skriva border-top: 1px; om det bara gäller en border i toppen.
Du har missupfattat mig där. Poängen är att bordern ska sättas till 1px solid black för flera olika element på en gång såhär:
div#1, div#2, div#3 {
border: 1px solid #000;
}
Det gör ju att alla dessa element på alla sidor kommer att få den kantlinjen.
Det jag sedan vill bestämma är vilka sidor varje element ska ha en border på
div#1 {
border-width: 1px 0px 0px 0px;
}
eller lika gärna:
div#2 {
border-style: none none solid none;
}
då fungerar det inte om jag skulle använd border-top.
Hursomhelst så funkar det ju förstås.
Det är bara det att jag inte tycker om att "overrida" (vad tusan ska man säga?) tidigare deklarationer, vilket faktiskt är vad jag gör där.
Från att först säga att elementet ska ha en 1px tjock border på alla sidor till att säga att den ska vara 0px tjock på vissa sidor.
Tinwëlint skrev:
Det är bara det att jag inte tycker om att "overrida" (vad tusan ska man säga?) tidigare deklarationer, vilket faktiskt är vad jag gör där.
Hmm...
"kaskadera" kanske :e
Jag skulle nämligen vilja hävda att du utnyttjar CSS på ett av de sätt som det i grunden är konstruerat för i det här fallet genom att du faktiskt utnyttjar "C":et i "Cascading StyleSheets" på ett naturligt och helt korrekt sätt!
"Senast deklaration gäller" per definition när du "delarerar över" någon stil oavsett om det görs i samma eller i olika stilmallsfiler/taggar/attribut/via scripts/whatever
Jag tycker din kod är ett Skolboksexempel på "good practice" i CSS helt enkelt! :bire
Aha, ok
Det är bara så att om du vill använda samma klass så måste du ju tvinga nästa div att inte ha eller ha border på en/flera sidor. Om du inte alltid har div 1, div 2 osv.
Då kan du ju ha en #div1 med den form du vill ha och en #div2
Du struntar i
div#1, div#2, div#3 {
border: 1px solid #000;
}
alltså
Mvh
Jan-Olov