Plaatje valt gedeeltelijk buiten div

Pagina: 1
Acties:

  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17-08 22:52

Booster

Superuser

Topicstarter
Ik wilde het volgende bereiken
Afbeeldingslocatie: http://woei.mindcontrolled.nl/zoalsikhetwil.png
met het volgende stukje code:
(in eerste instantie een <p> gebruikt maar dat werkte niet, dus toen naar <div>)
HTML:
1
2
3
4
5
6
<div class="fillup">
  [img]"icon1.jpg"[/img]
  <br>
  Test<br>
  Test
</div>

slordig geschreven, maar het was slechts een testje.

Alleen het volgende wordt weergegeven:
Afbeeldingslocatie: http://woei.mindcontrolled.nl/fout.png

Ik dacht dit op te lossen met
Cascading Stylesheet:
1
2
3
4
5
6
7
8
.fillup {display: block;
    background-color: white;
    border-width: 1px;
    border-style: solid;
    border-color: black;

    padding: 4px 4px 4px 4px;
}

maar dit was een denkfout, een div is immers standaard al een block :Z

Cascading Stylesheet:
1
.fillup {display: table;}

Werkt eveneens niet, maar mogelijk dat ik nu gewoon in de verkeerde hoek aan het zoeken ben.

Hoe kan ik ervoor zorgen dat de div oprekt tot de grootte van het plaatje :?
Het kan natuurlijk met een table, maar ik heb daar een beetje een hekel aan.

[ Voor 13% gewijzigd door Booster op 11-05-2003 00:31 ]

The cake is a lie | The Borealis awaits...


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

hoe ziet je class="blackborder" eruit? (en eventueel overige CSS die hier nog mee te maken heeft)

[ Voor 51% gewijzigd door crisp op 11-05-2003 00:28 ]

Intentionally left blank


  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17-08 22:52

Booster

Superuser

Topicstarter
Oww, vergeten:
Cascading Stylesheet:
1
2
3
4
5
.blackborder    {
    border-width: 1px;
    border-color: black;
    border-style: solid;
}


en body:
Cascading Stylesheet:
1
2
3
4
5
6
7
body    {
    color: black;
    background-color: #E6E6E6;

    margin: 20px 20px 20px 20px;
    padding: 0px 0px 0px 0px;
}


[edit]
en even de volledige .fillup class toegevoegd in de startpost :)

[ Voor 58% gewijzigd door Booster op 11-05-2003 00:32 ]

The cake is a lie | The Borealis awaits...


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 12:03

RM-rf

1 2 3 4 5 7 6 8 9

ik neem aan dat je image een floatend element (float:left;) is, mogelijk helpt het door een extra element hierachter te zetten met een clear: all en width: 100%;height: 1px; dat dwingt dat element om onder de img uitgelijnd te worden over de hele breedte en zo de hoogte van de omvattende div te laten uitgroeien tot onder de hoogte van de floatende afbeelding.

de float zorgt er volgens mij voor dat de hoogte van het element niet meer meegerekend wordt; feitelijk is float een soort van positionering tussen relative en absolute in, eigenlijk zou dat ook beter een extra position: value kunnen zijn: position: float-left; en position: float-right; hadden me ook logisch geleken, maar ik weet niet van de reden was om dit binnen de specs zo te kiezen.

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


  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17-08 22:52

Booster

Superuser

Topicstarter
Die image is inderdaad float: left.

Je doelt dus op een paragraph na (naast) de floating image met als properties het volgende?
Cascading Stylesheet:
1
2
3
4
5
.smeeruit {
  clear: all;
  width: 100%;
  height: 1px;
}


Even uitproberen.

[ Voor 22% gewijzigd door Booster op 11-05-2003 00:53 ]

The cake is a lie | The Borealis awaits...


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

align="left" is idd equivalent aan float: left;
in IE is het eenvoudig op te lossen door de div gewoon een "height: 80px" te geven, als je meer text erin zet rekt de div dan toch uit. In Mozilla echter weer niet, daar kan je beter min-height gebruiken, maar dat ondersteund IE weer niet...
Zo geraak je dus een beetje in een pat-stelling :(

Intentionally left blank


  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17-08 22:52

Booster

Superuser

Topicstarter
He bah, dat haat ik nou altijd.

Maar ok, in principe zou die height: 80px; een oplossing kunnen zijn, zolang er dus maar niet meer text in komt. (wat in deze situatie toevallig ook niet (vaak) het geval zal zijn, maar ik vind het weer zo'n vervelende oplossing)

Het gebruik van die .smeeruit class lijkt geen vruchten af te werpen, het ziet er dan hetzelfde uit als eerst. (image valt buiten div)

Misschien is het gewoon eerst even tijd om te gaan slapen :)

[edit]
Ik kan het misschien oplossen door de image in een aparte div te zetten, en de hele div float: left te maken :)

Of zou dat later nog vervelende complicaties opleveren :?

[ Voor 22% gewijzigd door Booster op 11-05-2003 01:11 ]

The cake is a lie | The Borealis awaits...


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Booster schreef op 11 May 2003 @ 01:04:
He bah, dat haat ik nou altijd.

Maar ok, in principe zou die height: 80px; een oplossing kunnen zijn, zolang er dus maar niet meer text in komt. (wat in deze situatie toevallig ook niet (vaak) het geval zal zijn, maar ik vind het weer zo'n vervelende oplossing)

Het gebruik van die .smeeruit class lijkt geen vruchten af te werpen, het ziet er dan hetzelfde uit als eerst. (image valt buiten div)

Misschien is het gewoon eerst even tijd om te gaan slapen :)

[edit]
Ik kan het misschien oplossen door de image in een aparte div te zetten, en de hele div float: left te maken :)

Of zou dat later nog vervelende complicaties opleveren :?
Heb ik ook al geprobeerd (beide mogelijkheden), maar dat lost ook niets op.
Als IE nou eens gewoon volledig CSS2 compliant zou worden...

Intentionally left blank


  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17-08 22:52

Booster

Superuser

Topicstarter
crisp schreef op 11 mei 2003 @ 01:29:
Heb ik ook al geprobeerd (beide mogelijkheden), maar dat lost ook niets op.
Als IE nou eens gewoon volledig CSS2 compliant zou worden...
Ik heb het hier even geprobeerd met de image in een aparte div, en dit werkt, zolang je voor de eerste div maar een width=100% aanhoud :)

Ik zal nog even posten wat ik gebruikt heb daarvoor:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.fillup {
    background-color: white;
    border-width: 1px;
    border-style: solid;
    border-color: black;
    padding: 4px 4px 4px 4px;
    width: 100%;
}

img.blackborder {
    border-width: 1px;
    border-color: black;
    border-style: solid;
}

div {
    float: left;
}

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
<p>head</p>

<div class="fillup">
  <div>
    [img]"icon1.jpg"[/img]
  </div>

  <p style="display: inline;">Test<br>
  Test</p>
</div>

<p>foot</p>


Indien je de eerste div niet op width=100% houd, dan zal 'foot' bovenaan, naast de div komen te staan.
niet zo blaten boost, je maakte gewoon een foutje in je code

Komt dit overeen met wat jij getest had verder :?

[ Voor 25% gewijzigd door Booster op 11-05-2003 14:10 ]

The cake is a lie | The Borealis awaits...


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
code-snippet
width="80" height="80"
Komt et niet daardoor? Dat is naar mijn weten geen HTML4/CSS2 compliant tag.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Grijze Vos schreef op 12 mei 2003 @ 00:59:
[...]
Komt et niet daardoor? Dat is naar mijn weten geen HTML4/CSS2 compliant tag.
toch wel hoor; het is niet eens deprecated in HTML4.
Een 'min-height' lost hier het hele probleem op; er bestaan trouwens javascripts waardoor min-height in IE ook nagebootst wordt.
Een placeholder-div met clear: left; aan het eind van je content lost het probleem dus op, zie ook: [rml][ css] div height in mozilla[/rml] :)

[ Voor 44% gewijzigd door crisp op 12-05-2003 10:37 ]

Intentionally left blank


Verwijderd

Oh dit probleem is bekend :P Had er zelf ook al last van, heb het maar op de wel werkende oude methode opgelost...... een table :)

  • Booster
  • Registratie: Februari 2000
  • Laatst online: 17-08 22:52

Booster

Superuser

Topicstarter
De image in een aparte div vind ik ook een prima oplossing eigenlijk. ;)

Het is opgelost in ieder geval, bedankt :)

[ Voor 25% gewijzigd door Booster op 12-05-2003 19:08 ]

The cake is a lie | The Borealis awaits...

Pagina: 1