Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[HTML][CSS] Kind elementen, ronde hoek en overflow:hidden

Pagina: 1
Acties:

  • Arie-
  • Registratie: December 2008
  • Niet online
Ik heb een vraag en me rotgezocht. Mogelijk gebruik ik de verkeerde zoektermen daar ik niet super goed thuis ben in html en css.
Mijn probleem, ik heb een navigatie container op mijn site, met daarin twee kind elementen: het menu en de broodkruimels. Mijn probleem is dat de achtergrond van de broodkruimels de ronde rand van de navigatie container overlapt. overflow:hidden lost dit normaliter op, echter is het menu in de andere kindcontainer van er één van het soort uitvouwen, hetgeen overflow:hidden wat kansloos maakt.
Bij de menu container speelt dit probleem niet omdat deze:
  • Achtergrond van #fff naar een grijswaarde verloopt
  • Deze een marge van een x aantal pixels aan de bovenkant heeft
  • De achtergrond van de navigatie parent container zelf #fff is
Een jsfiddle poging en een voorbeeld screenshot.
Afbeeldingslocatie: https://dl.dropboxusercontent.com/u/3038360/tweakers/html-css-ronde-hoek-overflow-hidden.png

Hoe moet ik / zouden jullie dit aanpakken? Zie ik iets over het hoofd? Een schop in de goede richting?

  • FotW
  • Registratie: Juli 2012
  • Laatst online: 24-10 13:17
Of de gradient op #navigatie zetten en deze een padding-botom geven, ik ga er naar aanleiding van de OP van uit dat je dat niet wilt.

Of je splitst je navigatie op in 2 delen; #navigatie en #breadcrumb. #navigatie geef je dan een top-left en top-right radius en #breadcrumb een bottom-left en bottom-right.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 15:45

RM-rf

1 2 3 4 5 7 6 8 9

bij mij lost:
code:
1
2
3
4
5
6
#broodkruimel {
   background: #eee;
   border-bottom-left-radius: 20px;
   border-bottom-right-radius: 20px;
   overflow: hidden;
}


het probleem al op

[ Voor 3% gewijzigd door RM-rf op 03-10-2013 15:05 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
Als ik het test wordt een absolute gepositioneerde div niet afgekapt door een overflow:hidden op de parent. Is het wel echt een probleem?

Never explain with stupidity where malice is a better explanation


  • Arie-
  • Registratie: December 2008
  • Niet online
FotW schreef op donderdag 03 oktober 2013 @ 15:02:
Of de gradient op #navigatie zetten en deze een padding-botom geven, ik ga er naar aanleiding van de OP van uit dat je dat niet wilt.
Even uit mijn hoofd: padding-bottom gaat niet werken omdat de broodkruimels niet altijd op een regel passen en ik dus niet weet hoe hoog dat element gaat worden.
Of je splitst je navigatie op in 2 delen; #navigatie en #breadcrumb. #navigatie geef je dan een top-left en top-right radius en #breadcrumb een bottom-left en bottom-right.
Dit lijkt me DE oplossing, idiote ik wist niet dat je ook elke hoek afzonderlijk een ronding kon geven. Wel zo logisch, maar als je deze activiteiten niet zo vaak doet zie je zoiets simpels over het hoofd.
RM-rf schreef op donderdag 03 oktober 2013 @ 15:05:
bij mij lost:
code:
1
2
3
4
5
6
#broodkruimel {
   background: #eee;
   border-bottom-left-radius: 20px;
   border-bottom-right-radius: 20px;
   overflow: hidden;
}


het probleem al op
Dit gaat niet werken omdat het middenpunt van de cikels niet 100% op dezelfde plek ligt en er dus een opening tussen de twee hoeken kan komen te liggen.

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10

MoietyMe

zij/haar

Je kan het afzonderlijk afronden van hoeken ook met de shorthand doen:

Cascading Stylesheet:
1
2
3
.class {
  border-radius: 0 0 4px 4px;
}


border-radius: [top-left] [top-right] [bottom-right] [bottom-left];

Overigens is het gebruik van de prefixes voor border-radius redelijk overbodig.

Volgende browsers ondersteunen het unprefixed:
IE 9+
FF 4+
Chrome 5+
Safari 5+
Opera 10.5+
iOS 3.2+
Android 2.2+

Dus ik zou zeggen bespaar jezelf 4 regels code per border-radius ;)

Meer informatie: Border Radius over at W3C, Border Radius at Can I Use.

  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
Arie- schreef op donderdag 03 oktober 2013 @ 15:24:
Dit gaat niet werken omdat het middenpunt van de cikels niet 100% op dezelfde plek ligt en er dus een opening tussen de twee hoeken kan komen te liggen.
Dit snap ik niet helemaal geloof ik. Border-radius is altijd in positie tot de border zonder radius, dus als je dat aan laat sluiten is er niets aan de hand. Block-element is standaard 100% breedt, dus geen padding dus op het buitenste element (of indien het onvermijdelijk is gecombineerd met een negative margin op de binnenste) moet goed komen.

Never explain with stupidity where malice is a better explanation


  • Rub3s
  • Registratie: Mei 2007
  • Laatst online: 20-11 14:54

Rub3s

+3 , omdat het kan

Oplossing van RM-rf lijkt me idd ook wel de juist. Zou moeten werken lijkt mij!

  • incaz
  • Registratie: Augustus 2012
  • Laatst online: 15-11-2022
Oh, ik snap dat van het middelpunt inmiddels. Je moet dan voor de binnenste radius = buitenste radius - border-width doen.
Dus 16px. (Als je sass of less hebt is dat extra makkelijk :) )

Never explain with stupidity where malice is a better explanation


  • Rub3s
  • Registratie: Mei 2007
  • Laatst online: 20-11 14:54

Rub3s

+3 , omdat het kan

Ik vraag me af of dat nodig is. Volgens mij is de binnenste radius van die buitenste border gewoon 20px (de borderdikte werkt naar buiten). Aangezien dat binnenste vlak geen border heeft zou je gewoon ook daarvoor 20px kunnen opgeven, mits ik geen denkfout maak :)

  • Arie-
  • Registratie: December 2008
  • Niet online
Ah kijk, dat klinkt logisch, diameter = straal+rand, zoals rand dikte overal in boxmodel meegerekend wordt, in dat geval zou het theoretisch wel moeten werken (als ook ik niets over het hoofd zie ;)). Ik heb echter de parent container uit mijn ontwerp gesloopt als oplossing.
Mbt. prefixes: ik ben uitgegaan van een template wat ik een paar jaar geleden ooit gemaakt heb, zelfs pie.htc zit daar nog in. Ook gradient wordt misschien wel 6 keer voor verschillende browsers geinitialiseerd. Ik weet wat betreft werken met css en html vaak wel wat (een soort van) gangbaar en geaccepteerd is, echter doe ik dit werk niet genoeg om precies ins en outs van elke techniek te kennen.
Pagina: 1