[CSS] With selector??

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 15:01
Hoi allen,

Zie de volgende html:

HTML:
1
2
3
4
5
6
7
<div class="menu_style">
<span>......</span>
</div>

<div class="menu_style">
<footer><span>.......</span></footer>
</div>


Op menu_style zit een padding van 20 rondom. Deze wil ik niet op de menu_style waar footer in zit.
Bestaat er iets van een 'with' selector? Zodat ik bijvoorbeeld .menu_style <with(.footer)> : padding 0; kan doen?

Ik heb helaas geen invloed op de gegenereerde HTML.

Acties:
  • 0 Henk 'm!

  • Wiebeltje
  • Registratie: Maart 2013
  • Laatst online: 13-09 23:27
Volgens mij gaat dat niet. Je kan hier eens kijken naar alle mogelijke selectors:
http://www.w3schools.com/cssref/css_selectors.asp

Je zou wellicht de padding niet op de menu_style kunnen zetten maar op de span?

Cascading Stylesheet:
1
2
3
4
.menu_style > span {
    display:block;
    padding: 20px;
}

Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 15:01
ja dat is een optie, maar dan gaat er nog iets mis met de submenu items zie ik. Maar dat is iets kleins volgens mij. Bedankt! :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Wat je hier nodig zou hebben als je het doet op de manier die jij graag wil is een parent selector. Helaas bestaan die echter (nog) niet in CSS. Er wordt al jaren gespeculeerd over het toevoegen van zo'n ding maar door de manier waarop CSS geparset wordt is dat allemaal een stukje lastiger dan het klinkt. :)

Overigens zou ik dit zelf veel liever zo oplossen:
HTML:
1
2
3
4
5
6
7
<div class="menu_style">
<span>......</span>
</div>

<div class="menu_style footer">
<footer><span>.......</span></footer>
</div>

Cascading Stylesheet:
1
2
3
4
5
6
7
.menu_style {
    display:block;
    padding: 20px;
}
.menu_style.footer {
    padding: 0;
}

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 16:15

Dido

heforshe

NMe schreef op maandag 01 september 2014 @ 16:20:
Overigens zou ik dit zelf veel liever zo oplossen:
De TS ook, denk ik... maar die zegt
Ik heb helaas geen invloed op de gegenereerde HTML.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Whinger
  • Registratie: Mei 2012
  • Laatst online: 09-09 15:28
In dat geval zou je een negatieve margin van 20px op de footer kunnen gebruiken, niet de meest nette oplossing. Maar het zou wel moeten werken. Ik denk dat je anders namelijk toch al gauw richting js oplossingen moet kijken, en dat vind ik persoonlijk nog minder elegant.

Zoiets dus: http://jsfiddle.net/jsLdjugq/

[ Voor 7% gewijzigd door Whinger op 01-09-2014 16:55 ]


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 15:01
NMe schreef op maandag 01 september 2014 @ 16:20:
Wat je hier nodig zou hebben als je het doet op de manier die jij graag wil is een parent selector. Helaas bestaan die echter (nog) niet in CSS. Er wordt al jaren gespeculeerd over het toevoegen van zo'n ding maar door de manier waarop CSS geparset wordt is dat allemaal een stukje lastiger dan het klinkt. :)
Die post van CSS tricks had ik inderdaad ook gevonden. :)

Over je oplossing: ik heb geen invloed op de gegenereerde html helaas (kant-en-klaar CMS). De oplossing van Wiebeltje werkt overigens wel, dus die heb ik nu toegepast.

Acties:
  • 0 Henk 'm!

  • itsleon
  • Registratie: December 2010
  • Laatst online: 02-09 15:35
Je kan ook de css zo schrijven
Cascading Stylesheet:
1
2
3
.menu_style ~ .menu_style span{
//hier je ding
}


Hiermee worden alle .menu_style aangepast op de eerste na. Ze moeten overigens wel op het zelfde niveau staan.

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Je zei niet 20 wat, dus ik zeg dat je ems gebruikt :)

Een (niet dé) oplossing:
Cascading Stylesheet:
1
2
.menu_style { padding: 20em; }
.menu_style > footer { margin: -20em; }


/edit
Wat een rare codekleuren tegenwoordig zeg :/

[ Voor 13% gewijzigd door _Thanatos_ op 03-09-2014 00:03 ]

日本!🎌


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dat zei j.devreede in "[CSS] With selector??" ook al. ;) Maar de oplossing van Wiebeltje is wanneer de HTML niet aanpasbaar is toch het mooist. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 15:01
@Thanatos. Het gaat om pixels ;)

@NMe: helaas heb ik geen invloed op de gegenereerde HTML inderdaad. En de oplossing van Wiebeltje doet het perfect. Ook het opvolgende probleem wat ik had heb ik inmiddels kunnen verhelpen.

  • Virgil
  • Registratie: November 2001
  • Laatst online: 29-08 02:10

Virgil

We're not alone

En de footer class toevoegen aan de onderste mbv jQuery? Je kan de parent van de footer dan makkelijk selecteren en beïnvloeden.

Hopelijk kan je wel javascript includen?

Ik was heel, heeeel vroeger SeRRveR


  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 15:01
Dat kan wel, maar waarom zou ik nog? Er is al een oplossing aangedragen die werkt.

En om dit nou met jQuery op te lossen? Ik zie de meerwaarde er niet van.
Pagina: 1