webForumDet fria alternativet

align innehåll i div till bottom ?

9 svar · 971 visningar · startad av Riri

RiriMedlem sedan dec. 2000182 inlägg
#1

Hej,

Går det på ngt sätt att aligna allt innehåll i en div till bottom? vertical-align: bottom & vertical-align: text-bottom funkar ju inte...

Finns det lösning?

Mhv
Richard

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Du kan ju mixtra med "padding"
Ex. padding-top: 22px;

RiriMedlem sedan dec. 2000182 inlägg
#3

Ja, om jag vet exakt hur høg div kommer att vara, men annars! Kom igen nu folkens, hur løser ni det annars?

higaMedlem sedan aug. 2000359 inlägg
#4

En metod som funkar men som kräver en hyffsat modern browser är att ha två nästlade objekt och sätta
display: table
på den yttre och
display:table-cell; vertical-align:bottom
på den inre.

RiriMedlem sedan dec. 2000182 inlägg
#5

Hmmm... kul idé, men jag får det banne mig inte att funka:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<div style="display:table;height:350px;border:2px solid pink">
<div style="display:table-cell;vertical-align:bottom;height:100%;border:1px solid brown;">
ighiggogg
<br />
lskfjgkljaslø
<img src="girl-1.jpg" />
</div>
</div>
</body>
</html>

Gør jag ngt fel?

higaMedlem sedan aug. 2000359 inlägg
#6

Du gör helt rätt, testade din kod och det funkar perfekt i Mozilla 1.2.1.
Opera 6 klarar det halvt, texten hamnar längst ner som den ska, men färgerna på kantlinjerna återges felaktigt.
Däremot så klarar inte Internet Explorer det, kör med 6.0sp1 :(
Får väl hoppas att dom fixar till det i 7:an....
Men kör gärna på din kod, alltid bra att pusha på utvecklingen lite :)

Mvh Lukas

RiriMedlem sedan dec. 2000182 inlägg
#7

Då får det blir tabeller dær då.... skit också...

higaMedlem sedan aug. 2000359 inlägg
#8

Nja, om IE's märkliga hantering av CSS inte stör allt för mycket för besökarna så tycker jag du ska använda CSS.
Är typ samma princip som när det gäller spelutveckling: att alla grafiska finesser inte återges korrekt på sämre grafikkort är något man får ta :)
Fast det beror ju också mycket på layouten, har man en layout som skär sig om webbläsaren återger vertikal position felaktigt så bör man nog inte använda min lösning.

Peter SMedlem sedan dec. 20025 483 inlägg
#9

Ge inte upp ännu! Så här skulle du kunna göra:

<div id="main" style="width:200px; height:100px; text-align:center; background:blue">
	<div id="inner" style="height:20px; position:relative; background:gray; top:80%;">
		FOO
	</div>
</div>

Notera värdet för "top". 100 - (height[inner] / height[main]) %

I Mozilla och Opera 7 får du lägga på en procent för att elementet skall hamna längst ned. Du får mixtra lite grand.

:)

higaMedlem sedan aug. 2000359 inlägg
#10

Nu kom jag på en lösning som funkar i MSIE 6(borde funka i 5.x oxå) och givetvis i Mozilla:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
 "http://www.w3.org/TR/REC-html40/strict.dtd">

<html>
<head>
<title>Test</title>
</head>
<body>
<div style="position:relative; left: 0px; top: 0px; width: 320px; height: 200px; border: 1px blue solid">
Text längst upp till höger som vanligt...
<div style="position:absolute; bottom: 0px; left: 60px; width: 200px; border: 1px red dotted; text-align: center">
Centrerad text längst ner
</div>
</div>
</body>
</html>

position:relative på den yttre boxen är nödvändigt för att den inre boxen inte ska positioneras absolut i förhållande till fönstret.

134 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)