Css: div groter dan 100%.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 07:24
Ik ben bezig met een nieuwe website en ben eerst in css bezig de structuur neer te zetten. Maar loop nu al vast.

Website is opgedeeld in 2 containers. De bovenste container heeft een vaste hoogte en breedte maat en bevat 4 kolommen die procentueel incl margin 100% hoog en breed zijn.

De news_container is 100% breed en heeft een vaste hoogte waarden. Deze bevat een andere container genaamd news_container2 met een vaste breedte waarde en de hoogte waarde 100%. Deze news_container2 bevat een kolom die 100% hoog is en een percentage breed.

Het probleem is dat deze kolom in news_container2 naar beneden gedrukt wordt door de bovenste container en de inhoud.

Ik heb in Fiddle het resultaat tot nu toe staan: https://jsfiddle.net/tdchc30L/4/

Kan iemand mij helpen en meedenken waar het fout gaat? _/-\o_

Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 11-10 16:28

Douweegbertje

Wat kinderachtig.. godverdomme

Ik snap niet zo goed wat je bedoelt, en al helemaal niet zonder identing e.d.
Het enige wat ik zo even snel kan zeggen is; waarom zoveel pos. relative? Nergens voor nodig :)

Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 07:24
ik zal het even duidelijk maken met een screenshot... 1 moment

Zie mijn screenshot. Je kan daarop zien hoe het zwarte blokje naar beneden gedrukt wordt.


Screenhot: Afbeeldingslocatie: http://s8.postimg.org/if9h0lttd/web.jpg

[ Voor 64% gewijzigd door knackje op 09-06-2015 20:24 ]


Acties:
  • 0 Henk 'm!

  • Patrick89
  • Registratie: Juni 2009
  • Laatst online: 13-10 19:14

Patrick89

PSN : Gamesource

#news_kolom_links {
height: 100%;
width: 23.5%;
margin-right: 1%;
background-color: #020202;

position: relative;

}

Als je de float left weg haalt ben je er al.

Denkt u aub aan het milieu voor u deze reactie afdrukt ;(..


Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 07:24
Klopt, maar ik wil naast deze kolom ook nog 3 andere kolommen plaatsen. Daarom heb ik daar een float left staan.

Ik snap gewoon niet de inhoud van de bovenste container hoger is dan 100% en daardoor de kolom in de andere container naar beneden drukt.

[ Voor 14% gewijzigd door knackje op 09-06-2015 20:37 ]


Acties:
  • 0 Henk 'm!

  • endness
  • Registratie: Maart 2006
  • Nu online
Inderdaad, de float eraf en het werkt. Reden is echter dat de groene "kolom_klein_linksonder" het blokje naar beneden duwt.

Margin in procenten is altijd relatief aan de breedte. Resize je resultaat-venster in je Fiddle maar, je ziet dat de margin in de hoogte veranderd terwijl de hoogte niet veranderd.

Een mogelijke oplossing is werken met vaste maten als px of em, of als je alleen recente browser hoeft te ondersteunen eens te kijken naar viewport-units.

Acties:
  • 0 Henk 'm!

  • knackje
  • Registratie: Oktober 2003
  • Laatst online: 07:24
endness schreef op dinsdag 09 juni 2015 @ 20:41:
Margin in procenten is altijd relatief aan de breedte.
Bedankt voor deze tip. Dat is een vervelende eigenschap dan...

Ik wilde geen vaste maten gebruiken ivm het maken van een responsive pagina.

Acties:
  • 0 Henk 'm!

  • endness
  • Registratie: Maart 2006
  • Nu online
Dan zul je dus naar de genoemde viewport-units moeten kijken, of naar flexbox. Daarmee zijn dit soort dingen een stuk simpeler. Nadeel is wel dat ze niet in oudere browsers worden ondersteund, maar ik weet niet in hoeverre dat nodig is natuurlijk.

Acties:
  • 0 Henk 'm!

  • drogeworst
  • Registratie: December 2011
  • Laatst online: 06-09 14:39
werkt altijd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="width-container">
    <div class="width-33">
        <div class="spacer">
            <p></p>
        </div>
    </div>
    <div class="width-33">
        <div class="spacer">
            <p></p>
        </div>
        </div>
    <div class="width-33">
        <div class="spacer">
            <p></p>
        </div>
    </div>
</div>
<div class="clear"></div>

CSS-code:
code:
1
2
3
4
.width-container {display:flex;}
.width-33 {display:block;float:left;width:33%;}
.spacer {padding:10px;}
.clear {clear:both;}


Extra CSS regels, voor extra mogelijkheden:
code:
1
2
3
4
.width-75 {display:block;float:left;width:75%;}
.width-50 {display:block;float:left;width:50%;}
.width-33 {display:block;float:left;width:33%;}
.width-25 {display:block;float:left;width:25%;}


Let op: nooit heights definieren.

ps: niet met ID's werken. ID's zijn bedoelt voor divs die eenmalig gebruikt worden. Classes zijn vaker bruikbaar

[ Voor 6% gewijzigd door drogeworst op 11-06-2015 16:07 . Reden: ik zag de jsfiddle... ]

Het is wat het is...


Acties:
  • 0 Henk 'm!

  • endness
  • Registratie: Maart 2006
  • Nu online
Enigszins laat, maar jou voorbeeld werkt zeker niet "altijd", in IE < 10 valt dit namelijk compleet uit elkaar omdat daar flexbox niet ondersteund wordt. In sommige gevallen prima, maar wel iets om rekening mee te houden.

Acties:
  • 0 Henk 'm!

  • n8n
  • Registratie: Juni 2007
  • Laatst online: 12-10 20:10

n8n

Wanneer je padding kan gebruiken ipv margin, heb je de optie om box-sizing: border-box in te zetten. Werkt vanaf IE8, en volgens mij is dat sowieso de standaard - toen afwijkende - box-sizing van oudere IE-versies.

http://caniuse.com/#feat=css3-boxsizing

[ Voor 9% gewijzigd door n8n op 21-06-2015 00:11 ]


Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 29-09 15:25
endness schreef op zaterdag 20 juni 2015 @ 17:12:
Enigszins laat, maar jou voorbeeld werkt zeker niet "altijd", in IE < 10 valt dit namelijk compleet uit elkaar omdat daar flexbox niet ondersteund wordt. In sommige gevallen prima, maar wel iets om rekening mee te houden.
Jawel hoor :), alleen met een iets andere syntax. Dat is prima met de hand te doen, of met bijvoorbeeld Autoprefixer.

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • endness
  • Registratie: Maart 2006
  • Nu online
IE < 10 duidt de versies voor 10 aan, bijvoorbeeld IE9. Zoals te zien is in de table van Can I Use, wordt flexbox daar niet ondersteund.

Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 29-09 15:25
|:( sorry, verkeerd gelezen! Het was nog vroeg op de maandagochtend zullen we maar zeggen :)

Full-stack webdeveloper in Groningen

Pagina: 1