Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

CSS - Pozitionare div in div
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> HTML/JavaScript/CSS
Subiectul anterior :: Subiectul următor  
Autor Mesaj
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin

Trimis: Mar Sep 02, 2008 7:16 pm    Titlul subiectului: CSS - Pozitionare div in div  

Am :
Cod:
<html>
<head>
<style type="text/css">
.divcontainer
{
   position: absolute;
   top: 100px;
   left: 100px;
   width: 200px;
   height: 300px;
   color: #000000;
   background-color: #d0d0d0;
   border-collapse: collapse;
   border-color: #333333;
   border-style: outset;
   border-width: 3px;
}
.divsus
{
   position: relative;
   top:  0px;
   left: 0px;
   width: 100%;
   height: 20px;
   color: #ffffff;
   background-color: #333333;
   border: none;
}
.divcentru
{
   position: relative;
   top:  0px;
   left: 0px;
   width: 100%;
   height: 80%;
   color: #000000;
   background-color: #e0e0e0;
   border: none;
}
.divjos
{
   position: relative;
   top:  0px;
   left: 0px;
   width: 100%;
   height: 20px;
   color: #000000;
   background-color: #f0f0f0;
   border: none;
}
</style>   
</head>
<body>
<div class="divcontainer">
   <div class="divsus"> Text sus </div>
   <div class="divcentru"> Text Text Text <br /> Text Text Text</div>
   <div class="divjos"> Text jos </div>
</div>
</body>
</html>

As vrea ca "divjos" sa fie la marginea de jos a "divcontainer" iar "divcentru" sa umple tot spatiul dintre "divsus" si "divjos".
Banuiesc ca-i ceva simplu dar nu stiu de ce nu "gasesc" ...
Multumesc anticipat !
Sus  
olympia



Data înscrierii: 26/Mai/2008
Mesaje: 179

Trimis: Mar Sep 02, 2008 9:30 pm    Titlul subiectului:  

pai dk ii dai

.divjos
{
position: absolute;
top: 280px;
left: 0px;
width: 100%;
height: 20px;
color: #000000;
background-color: #f0f0f0;
border: none;
}

ar trebui sa se alinieze jos. ptr divcentru, dat fiind ca e in interiorul unui div absolut, merge la height sa ii dai exact in px (cam 260px in cazul asta).

structura poate fi si repetitiva, dk ii dai in id la divcontainer, insa nu prea e cross browser. ca sa iti iasa cum trebuie, ar mai fi nevoie de niste hackuri.
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin

Trimis: Mar Sep 02, 2008 10:09 pm    Titlul subiectului:  

Merci olympia, e o solutie dar nu-i chiar cea care-mi foloseste, eu schimb width si height style in line cu javaScript si voiam ca div-urile interioare sa se aranjeze singure. Asa trebuie sa calculez si sa le schimb si lor proprietatile.
Nu se poate sa nu aiba CSS-ul o proprietate de a alinia la ce margine vreau, asa ma gandesc !!!
Sus  
lorand1



Data înscrierii: 25/Apr/2008
Mesaje: 55
Locație: Baia Mare

Trimis: Mar Sep 02, 2008 10:28 pm    Titlul subiectului:  

problema ta sta in calcule

adica 1% din 300 este 3
suma in pixeli la divsus si divjos este 40 px care sunt doar 13,3% din 300 px cat are divcontainer
pt a lungi divcentru la valoarea lui are nevoie de 87% height nu 80% cat ai acuma
dar ca sa te asiguri ca totul merge bine ori lucrezi numai in pixeli ori in procentaje ca altfel da iar cu zecimale neluate in seama si nu iti mai afiseaza ce ai vrut
spor
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin

Trimis: Mar Sep 02, 2008 10:39 pm    Titlul subiectului:  

M-a ajutat Gogu, cum spune @mihaitha, exista proprietatea bottom: offset
Cod:
.divjos
{
   position: absolute;
   bottom:  0px;
   left: 0px;
   width: 100%;
   height: 20px;
   color: #000000;
   background-color: #f0f0f0;
   border: none;
}

Deci cu div-ul de jos e rezolvata, mai trebuie cu cel din centru, ma gandesc la width:100% si margin-bottom:20px; margin-top:20px;
Eu vreau ca atunci cand div-ul container isi mareste dimensiunile, divsus sa stea sus si divjos sa stea jos, iar cel din centru sa cuprinda tot containerul mai putin cei 20px de sus si de jos.
Sus  
olympia



Data înscrierii: 26/Mai/2008
Mesaje: 179

Trimis: Mar Sep 02, 2008 11:00 pm    Titlul subiectului:  

exact la offset ma uitasem si eu acum.

ma gandeam dk ar merge ceva de genul:

Cod:
var divcentru = document.getElementById("divcentru");
divcentru.style.width = 100;
divcentru.style.height = 260;
divcentru.style.position = 'relative';


il poti lua si dupa tag cu document.getElementsByTagName("div")[], si sa ii schimbi valorile dk e nevoie.

in fine, am zis si io asa, k oricum nu am inteles f bine despre ce e vorba :)

//editat
cred ca de fapt tu schimbi stilurile in alte elemente, nu in astea asa cum gresit am inteles. probabil ca vrei ca aceste divuri doar sa se realinieze corect dupa modificarile respective, acu' am inceput sa ma prind :D
Sus  
Amenthes



Data înscrierii: 12/Dec/2005
Mesaje: 620

Trimis: Mar Sep 02, 2008 11:26 pm    Titlul subiectului:  

Nu-mi place sa fiu eu ala cu vestile proaste dar in IE6 nu merge. Trebuie sa suporti si IE6? In cazul asta as avea o propunere.
Sus  
olympia



Data înscrierii: 26/Mai/2008
Mesaje: 179

Trimis: Mar Sep 02, 2008 11:39 pm    Titlul subiectului:  

unde a disparut ultima postare man?
Sus  
dechim



Data înscrierii: 10/Mai/2005
Mesaje: 656
Locație: Drobeta Turnu Severin

Trimis: Mie Sep 03, 2008 12:22 am    Titlul subiectului:  

Asta era ultima postare, am crezut c-am rezolvat dar nu incercasem in IE, in FireFox merge
Cod:
<html>
<head>
<style type="text/css">
.divcontainer
{
   position: absolute;
   top: 100px;
   left: 100px;
   width: 200px;
   height: 300px;
   color: #000000;
   background-color: #e0e0e0;
   border-collapse: collapse;
   border-color: #333333;
   border-style: outset;
   border-width: 3px;
}
.divsus
{
   position: absolute;
   top:  0px;
   width: 100%;
   height: 20px;
   color: #ffffff;
   background-color: #333333;
   border: none;
}
.divcentru
{
   position: absolute;
   top:  20px;
   bottom: 20px;
   width: 100%;
   color: #000000;
   background-color: #e0e0e0;
   border: none;
    overflow: auto;
}
.divjos
{
   position: absolute;
   bottom:  0px;
   left: 0px;
   width: 100%;
   height: 20px;
   color: #000000;
   background-color: #f0f0f0;
   border: none;
}
</style>   
<script type="text/javascript">
function aplica()
{
   document.getElementById('divcontainer').style.height = parseInt(document.getElementById('ina').value);
   document.getElementById('divcontainer').style.width = parseInt(document.getElementById('lat').value);
   return true;
}   
</script>
</head>
<body>
<div class="divcontainer" id="divcontainer">
    <div class="divsus">Text sus </div>
   <div class="divcentru"> Text Text Text Text Text Text Text Text Text Text Text Text Text
   Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
   </div>
   <div class="divjos"> Text jos </div>
</div>
Latime <input type="text" id="lat" value="200" onchange="aplica();" /> <br />
Inaltime <input type="text" id="ina" value="300" onchange="aplica();"/>
</body>
</html>
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> HTML/JavaScript/CSS
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community