---
title: "Centrering av DIV i förhållande till yttre"
type: "forum-thread"
url: "https://www.webforum.nu/amne/html-css/172982-centrering-av-div-i-förhållande-till-yttre"
topic: "HTML & CSS"
topic_url: "https://www.webforum.nu/amne/html-css"
author: "Trankan"
published: "2008-07-26T12:11:22.000Z"
updated: "2008-07-28T17:17:28.000Z"
replies: 8
views: 1128
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/html-css/172982-centrering-av-div-i-förhållande-till-yttre"
---

# Centrering av DIV i förhållande till yttre

## #1 — Trankan, 2008-07-26T12:11Z

Hej!

Har utan problem fått de tre inre DIV:arna att lägga sig bredvid varandra, men att få den mellersta att centreras i förhållande till den yttre DIV:en verkar klurigt. Det kan tilläggas att de inre DIV:arnas sammanlagda bredd är mindre än den yttres. Har någon här ett förslag kanske?

```
<div>
<div>vänster</div>
<div>centrerad</div>
<div>höger</div>
</div>
```

Permalänk: https://www.webforum.nu/p/172982

## #2 — bossse, 2008-07-26T14:46Z

Nu vet jag varke bredd eller höjd på dina divar, men jag har i vart fall gjort ett exempel.

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css"> 
div.yttre
{width:950px; height:600px;background-color:black;
position:absolute; left:50%;top:50%;margin-left:-475px;margin-top:-300px;}

.left {width:200px; height:500px; border:1px solid black;
background-color:red;position:absolute;left:2px;top:50px}

.center {width:540px; height:500px; border:1px solid black;
background-color:green;position:absolute;left:205px;top:50px}

.right {width:200px; height:500px; border:1px solid black;
background-color:red;position:absolute;right:2px;top:50px}
</style> 
</head>
<body>
<div class=yttre>
<div class=left>vänster</div>
<div class=center>centrerad <br>Alltid centrerad oberoende av upplösning eller fönsterstorlek</div>
<div class=right>höger</div>
</div>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/2127375

## #3 — Trankan, 2008-07-26T16:26Z

Ingen av de inre DIV:arna har fast bredd, så att använda absolut positionering är nog inte så bra i det här fallet. Den DIV som sitter i mitten ska inte påverkas utav varken den vänstra eller den högra, utan ska alltid vara horisontellt centrerad i förhållande till den yttre DIV:en oavsett om de andra två har samma bredd eller inte. Med andra ord vill jag att alla de inre DIV:arna ska positioneras i förhållande till den yttre DIV:en trots att de ligger bredvid varandra. Frågan är bara om det går att göra så.  :l

Permalänk: https://www.webforum.nu/p/2127383

## #4 — jarvklo, 2008-07-26T18:13Z

> **Trankan skrev:**
>
> Ingen av de inre DIV:arna har fast bredd

Hmm... Okej...

Hur tänker du dig bredderna?
Tänker du dig t.ex. den att vänstras bredd skall kunna vara X% av containerbredden och den högras Y% samtidigt som den centrerade i mitten tar upp "max resten" ?

Permalänk: https://www.webforum.nu/p/2127390

## #5 — Trankan, 2008-07-26T18:57Z

> **jarvklo skrev:**
>
> Hmm... Okej...
> 
> Hur tänker du dig bredderna?
> Tänker du dig t.ex. den att vänstras bredd skall kunna vara X% av containerbredden och den högras Y% samtidigt som den centrerade i mitten tar upp "max resten" ?

Ja, det kan man nog säga. Men DIV:arna kommer inte att ta upp hela containerbredden då de inte är bredare än vad deras innehåll kräver. Därför kommer den centrerade DIV:en att ha en del fritt utrymme till vänster och höger om sig.

Permalänk: https://www.webforum.nu/p/2127392

## #6 — jarvklo, 2008-07-26T22:07Z

Hmm...

... och det skall bara vara exakt de fyra divvar du har med i exemplet?
... och ingen av den har någon bredd som relaterar till något annat än sitt innehåll?

Permalänk: https://www.webforum.nu/p/2127396

## #7 — Trankan, 2008-07-26T22:24Z

> **jarvklo skrev:**
>
> Hmm...
> 
> ... och det skall bara vara exakt de fyra divvar du har med i exemplet?
> ... och ingen av den har någon bredd som relaterar till något annat än sitt innehåll?

Ja, fyra DIV:ar är i alla fall vad jag tänkt. Jag var nog lite otydlig tidigare, men containern har en fast bredd.

Permalänk: https://www.webforum.nu/p/2127397

## #8 — jarvklo, 2008-07-27T20:49Z

OK - då kör vi utefter det jag tror mig förstå av det du beskriver att du vill ha :).

```
<doctype html>
<meta charset="UTF-8">
<html>
<head>
<title>Ett av jarvklos exempel</title>
</head>

<body>
<h1>Variant 1 - Tabellmetoden</h1>
<div>En tabell har den egenskapen att den ges "auto"-bredd efter sitt innehåll</div>
<div>Kombinera det med centrering av tabellen på sidan med &lt;table align="center"%gt;</div>
<div>(dvs använd den tabell-egenskap för centrering av hela klabbet som inte har motsvarighet i CSS såvitt jag vet)</div>
<div>med absolutpositionering av vänster- och höger-tabeller  och problemet är löst (dock inte som du vill ha det kodmässigt)</div>
<div style="position: relative; width: 800px; border: 1px solid black;">
<table border="1" style="position: absolute; left:0; top:0;"><tr><td><div>vänster</div></td></tr></table>
<table align="center" border="1"><tr><td><div>centrerad</div></td></tr></table>
<table border="1" style="position: absolute; top: 0; right: 0;"><tr><td><div>höger</div></td></tr></table>
</div>

<hr>
<h1>Variant 2 - CSS metoden</h1>
<div> Som du vill ha det, men tyvärr ej fungerande i MSIE&lt;8</div>
<div style="position: relative; width: 800px; border: 1px solid black;">
<div style="position: absolute; left:0; top:0; width: auto; border: 1px solid blue">vänster</div>
<div style="display: table; width: auto; margin: auto; border: 1px solid blue">centrerad</div>
<div style="position: absolute; right:0; top:0; width: auto; border: 1px solid blue">höger</div>
</div>
<hr>
<h1>Hybridvariant</h1>
<div>Hopslagnng av de tu...</div>
<div style="position: relative; width: 800px; border: 1px solid black;">
<div style="position: absolute; left:0; top:0; width: auto; border: 1px solid blue">vänster</div>
<table align="center" border="1"><tr><td><div>centrerad</div></td></tr></table>
<div style="position: absolute; right:0; top:0; width: auto; border: 1px solid blue">höger</div>

</body>
</html>
```

[Testa](http://member.webforum.nu/2241/trankanscentreringsproblem.html) om jag förstod dig rätt :bire

Permalänk: https://www.webforum.nu/p/2127499

## #9 — Trankan, 2008-07-28T17:17Z

Stort tack för det suveräna exemplet, det var precis så jag ville ha det!  :)

Permalänk: https://www.webforum.nu/p/2127598

---

Tråden på webben: https://www.webforum.nu/amne/html-css/172982-centrering-av-div-i-förhållande-till-yttre
