webForumDet fria alternativet

Liten fundering bara

6 svar · 229 visningar · startad av Tinwëlint

TinwëlintMedlem sedan maj 2004451 inlägg
#1
"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?

FlashesMedlem sedan jan. 2003282 inlägg
#2

Jag skulle skriva
border-top: 1px;
om det bara gäller en border i toppen.

Mvh
Jan-Olov

MeleaMedlem sedan juli 20033 147 inlägg
#3

Har alltid skrivit som Tinwëlint skriver och det funkar utmärkt i alla webbläsare.

FlashesMedlem sedan jan. 2003282 inlägg
#4

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

TinwëlintMedlem sedan maj 2004451 inlägg
#5

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.

jarvkloMedlem sedan juli 20013 378 inlägg
#6

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

FlashesMedlem sedan jan. 2003282 inlägg
#7

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

138 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)