Overerven CSS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marien xD

Marien xD

25/10/2006 13:16:00
Quote Anchor link
Ik heb op een website bij bepaalde elementen een border, background en padding. Deze zijn allemaal gelijk. Nu als er bijv de border kleur moet worden gewijzigd moet ik alle elementen aanpassen. (veel werk :S)

Is het mogelijk om deze bij allemaal in 1 CSS definitie onder te brengen en die laten toepassen op andere css stylen?

dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
standaardopmaak
       |   \  
Style1 - Style2 - enz
 
PHP hulp

PHP hulp

04/05/2024 13:12:55
 
Harmen

Harmen

25/10/2006 13:17:00
Quote Anchor link
<div class="border">inhoud</div>

css:
.border
{
border: 1px solid green;
}

je hoeft het toch maar 1 keer te wijzigen?
 
Kalle P

Kalle P

25/10/2006 13:21:00
Quote Anchor link
Gebruik daarvoor class iig, die kan namelijk zoveel gebruik worden als je wilt. id="" is uniek, dus eenmalig te gebruiken.

Zoals harmen al postte over class="border" geven waar je dit wilt toepassen
 
Robert Deiman

Robert Deiman

25/10/2006 13:21:00
Quote Anchor link
Marien, geef alles wat in principe dezelfde border eigenschappen heeft dezelfde class.
Onderdelen die anders zijn kan je bijvoorbeeld zo doen:

Een div:content bevat een div:tekst, beide divs wil je dezelfde omlijning geven, maar andere tekst:

div{
hier de lijnstijl voor alle divs
}

.content{
hier de tekststijl voor de contentdiv
}
.tekst{
hier de tekststijl voor de tekstdiv
}
 
Remco van Arkelen

Remco van Arkelen

25/10/2006 13:22:00
Quote Anchor link
Je kan gewoon verschillende classes gebruiken op 1 element, zie bijv:

<style type="text/css">
.border{
border: 1px solid;
}

.groen{
border-color: #00ff00;
}
</style>
<div class="border groen">inhoud</div>
 
Robert Deiman

Robert Deiman

25/10/2006 13:26:00
Quote Anchor link
Remco van Arkelen schreef op 25.10.2006 13:22:
Je kan gewoon verschillende classes gebruiken op 1 element, zie bijv:

<style type="text/css">
.border{
border: 1px solid;
}

.groen{
border-color: #00ff00;
}
</style>
<div class="groen">inhoud</div>


Je gebruikt .groen{, dus moet de class van die div ook gewoon "groen", en niet "border groen" zijn.
 
Remco van Arkelen

Remco van Arkelen

25/10/2006 13:30:00
Quote Anchor link
Kijk nog eens naar het voorbeeld Robert, je kunt in het class-attribuut meerdere CSS-classes opgeven, ik geef toe dat de naam "border" wat ongelukkig is gekozen.

Maar, met class="border groen" worden zowel de CSS-regels .border en .groen op het betreffende element toegepast.
 
Robert Deiman

Robert Deiman

25/10/2006 13:33:00
Quote Anchor link
Ok Remco, dat kende ik nog niet.. weer wat geleerd.
 
Kalle P

Kalle P

25/10/2006 13:34:00
Quote Anchor link
Als je op bijvoorbeeld alle divs en a's (links) een border wilt zetten, is het het verstandigste om gebruik te maken van roberts methode, als dat verschilt dus zeg maar op ene div en a wel en de andere niet dan is de verstandigste methode van harmen.

alle elementen
div, a, p{ /* voor alle div, a en p */
border: 2px solid #e4a;
}
voor bepaalde:
.border{ /*hierbij geldt dat overal waar je dit wilt toepassen class="border" moet staan*/
border: 2px solid #e4a;
}
 
Marien xD

Marien xD

25/10/2006 15:28:00
Quote Anchor link
Ik heb dus meerdere divs welke wel EN niet een border krijgen, tevens zijn er ook andere elementen die dezelfde border krijgen. (daarom heb ik ook teveel styles :S)

Nu heb ik 2 oplossingen:
- Op elke pagina de oplossing van remco toepassen (welke mij wel het beste uitkomt)
- Volledig uittypen in de stylesheet: style1, style2, style3 {}

Wat raden jullie mij aan?
 
Robert Deiman

Robert Deiman

25/10/2006 15:33:00
Quote Anchor link
De oplossing van Remco is dan de handigste oplossing, omdat je dan 2 verschillende borders zou aan kunen maken. Het scheelt typewerk, en je kan ook de css file kleiner houden, waardoor je pagina sneller geladen wordt.
 
K i p

K i p

25/10/2006 16:00:00
Quote Anchor link
.border * {
border: 1px solid #FF5A00;
}

Zo kan het ook. Maar dan krijg je wel overal een border om heen, ook om <i> of <span> of <a> enz.
 
Kalle P

Kalle P

25/10/2006 16:01:00
Quote Anchor link
Ik zou die dat jusit niet doen, omdat je dan 3 styles moet defineren en met

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
.groen { border: 2px solid #0f0;}
.rood   { border: 2px solid #f00;}


er maar 2 hebt.

Daarnaast moet je overal class="border groen".

De manier van remco kost wat intotaal wat meer tekst (teminste als je overzichtelijke naam gaat geven), maar het blijft een kwestie van voorkeur.
 
Kalle P

Kalle P

25/10/2006 16:04:00
Quote Anchor link
@boris
ik neem aan dat je bedoelt * { border: 1px solid #FF5A00; }, dan komt overal een border en dat is dus niet de bedoeling. Kortom zo kan het dus niet.

En als je bedoelde *.border dat is het zelfde als .border, dusja dat is precies het zelfde als alle andere posts.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.