webForumDet fria alternativet

Sprida ut div'ar

8 svar · 578 visningar · startad av learn

learnMedlem sedan jan. 20051 130 inlägg
#1

Jag har 3st divar med fast width.

Nu vill jag att en av dem skall ligga längst till vänster, en i mitten och den sista längst till höger. Avståndet mellan den mittersta och den vänstra och högra skall alltså vara lika.

Hur gör jag? Att få en längst till vänster och en till höger är ju lätt (float: left och float:right), men hur gör jag för att en skall ligga i mitten??
:q

bossseMedlem sedan juni 2003772 inlägg
#2

Blir detta bra tro?

<html>
<head>
<style type="text/css">
<!--
body {background-color:green; color:yellow;}
#vänster{width:200px; height:200px;float:left;background-color:blue;}
#mitt {width:250px; height:250px; position:absolute; left:50%; margin-left:-125px;background-color:blue;
}
#höger{ width:200px; height:200px;float:right;background-color:blue;}
-->
</style>
</head> 
<body >
<div id=vänster></div>
<div id=mitt></div>
<div id=höger></div>
</body>
</html>
DykarnMedlem sedan mars 2005149 inlägg
#3

EDIT: Trot i huvudet.

learnMedlem sedan jan. 20051 130 inlägg
#4

Nja, inte riktigt.

De 3 div'arna ligger nämligen i en annan div och jag vill därför inte att mitten-div'en skall hamna i mitten av webbläsar-fönstret vilket den gör med din kod... Sorry att jag inte nämnde "skal-diven"... :)

tantenMedlem sedan nov. 20051 596 inlägg
#5

Så här då?

#vänster{width:200px; height:200px;float:left;background-color:blue;}
#mitt {width:650px; height:250px; position:absolute; margin-left:200px; margin-right:200px; background-color:blue;}
#höger{ width:200px; height:200px;float:right;background-color:blue;}
<div id=mitt>
<div id=vänster></div>
<div id=höger></div></div>
überfuzzMedlem sedan apr. 2006409 inlägg
#6

går det inte att fixa med: position: absolute; "rätt antal" px; och sätte fast boxarna helt enkelt?

bossseMedlem sedan juni 2003772 inlägg
#7

Bygger vidare på tantens exempel.

<html>
<head>
<style type="text/css">
#stor {width:750px; height:250px; position:absolute; margin-left:20px; margin-right:10px;background-color:gray;border:1px solid black;}
#vänster{width:200px; height:200px;float:left;background-color:blue;}
#mitt{width:200px; height:200px;float:left;margin-left:75px;background-color:blue;}
#höger{ width:200px; height:200px;float:right;background-color:blue;}
</style>
</head> 
<body>
<div id=stor>
<div id=vänster></div>
<div id=mitt></div>
<div id=höger></div>
</div>
</body>
</html>
jarvkloMedlem sedan juli 20013 378 inlägg
#8

Hmm...
Om du har fast bredd på "containern" kan du göra float:left på dem alla tre och jobba med padding/margin för att påverka avståndet mellan dem ;)

Exempel:http://www.alistapart.com/articles/holygrail/

MozfanMedlem sedan okt. 2005541 inlägg
#9

Det här fungerar så att man anger fast bredd på vänster och höger div, men ingen bredd eller float på mitten div'en. Mitten tar då upp allt övrigt tillgängligt utrymme som aktuellt webbläsarfönster har, samt lägger sig förstås mellan "sidodivarna".

Vill man inte att mitten ska kunna bli hur bred som helst i högupplösta skärmar, kan man förstås "bädda in" dessa tre div'ar i en container div med max-width och/eller andra trix :) Men det är nog inte så vanligt att folk med högupplösta skärmar (1200px på bredden och mera) använder hela skärmens yta för webbläsaren?

<html>
<head>
<style type="text/css">
#vänster{width:200px; height:100%; float:left;border:1px solid #000;}
#mitt{ height:100%; margin-left:210px;margin-right:210px;border:1px solid #000;}
#höger{width:200px; height:100%; float:right;border:1px solid #000;}
</style>
</head>
<body>
<div id=vänster>Vänster</div>
<div id=höger>Höger</div>
<div id=mitt>Mitten</div>
</body>
</html>

128 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)