Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]Przyleganie do prawej krawedzi elementu nadrzednego
Forum PHP.pl > Forum > Przedszkole
DerekDX
Panowie mam strasznie głupie pytanie, az wstyd mi o tym pisac.

Jak zrobic aby element przylegal do prawej krawedzi elementu nadrzenego.

mam 2 elementy ktore sa zamieszczone w divie i chcialbym aby jeden z nich przylegal do lewej krawedzi elementu nadrzednego a drogi do prawej
luck
  1. float:left
oraz
  1. float:right
winksmiley.jpg
DerekDX
No wlasnie próbowalem z wykorzystaniem tej funkcji ale nadal nie dziala to jak bym chciał

Mojm celem jest stworzenie czegos takiego.



Uploaded with ImageShack.us

mój css wyglada tak:

  1. div#tresc {
  2. display:block;
  3. margin-left: 10%;
  4. margin-right: 10%;
  5. background-color:#36F;
  6. positon:absolute; top:120px;
  7. display:block;
  8. }
  9.  
  10. div#tabela {
  11. position:absolute;top: 120px;
  12. float:right;
  13. display:block;
  14. width:70%;
  15. float:right;
  16. margin-left: 10px;
  17. background-color:#909;
  18. }
  19.  
  20. div#menu {
  21. width: auto;
  22. position:absolute; top: 120px; left:0px;
  23. float:left;
  24. display:block;
  25. background-color:#300;
  26. z-index:-5
  27. }


gdzie div#tresc jest rodzicem a menu i tabela jest dziecmi

w HTMLu wyglada to tak:
  1. <div id="tresc">
  2. <div id="menu"></div>
  3. <div id="tabela"></div>
  4. </div>
mortus
Albo używasz pozycjonowania (absolutnego, relatywnego), albo stosujesz atrybut opływania (float).
krzysztof_kf
Ale nabazgrane masz przykład pozdrawiam .

  1.  
  2. <style type="text/css">
  3.  
  4. body {
  5. margin: 0;
  6. }
  7.  
  8. #content {
  9. width: 800px;
  10. overflow: hidden;
  11. margin: 0 auto;
  12. border-left: 1px solid #3399ff;
  13. border-right: 1px solid #3399ff;
  14. }
  15.  
  16. #content-left {
  17. width:200px;
  18. height: 200px;
  19. margin: 100px 0 0 0;
  20. float: left;
  21. border: 1px solid #ff0000;
  22. }
  23.  
  24. #content-right {
  25. width:500px;
  26. height: 500px;
  27. margin: 100px 0 0 96px;
  28. float: left;
  29. border: 1px solid #ff0000;
  30. }
  31. </style>
  32. <div id="content">
  33. <div id="content-left"></div>
  34. <div id="content-right"></div>
luck
Poza tym co napisał kolega @mortus, popraw literówkę w div#tresc (chodzi o "position"). Usuń pozycjonowanie absolutne dla osadzonych warstw i wtedy już sobie pewnie poradzisz.
DerekDX
dzieki po usunieciu pozycjonowania wszystko chodzi jak nalezy

Możecie mi jeszcze podpowiedzic jak ustawic te dwa elementy w jednej lini?
krzysztof_kf
tzw pokaż kod
DerekDX
  1. div#tresc {
  2. margin-top:120px;
  3. width:1000px;
  4. margin-left: auto;
  5. margin-right: auto;
  6. background-color:#36F;
  7. positon:absolute; top:120px;
  8. display:block;
  9. vertical-align:text-top;
  10. }


  1. div#tabela {
  2. float:left;
  3. display:block;
  4. width:85%;
  5. float:right;
  6. margin-left: 10px;
  7. background-color:#909;
  8.  
  9. }


  1. div#menu {
  2.  
  3. width:15%;
  4. float:left;
  5. display:block;
  6. clear:none;
  7. }


a tak to wyglada po stronie htmla

  1. <div id="tresc">
  2. <div id="menu"></div>
  3. <div id="tabela"></div>
  4. </div>
krzysztof_kf
w selektorze zmień na same float: left; bo dałeś właśnie to i drugi raz float: right;

  1.  
  2. div#tabela {
  3. float: left;
mortus
@krzysztof_kf A co to zmieni?

Chodzi o to, że szerokość twoich div-ów zagnieżdżonych 15% (menu width) + 85% (tabela width) + 10px (tabela margin-left) przekracza szerokość elementu nadrzędnego o 10px.
Zamiast używać margin-left można elementowi div o id tabela nadać po prostu 84% lub 83% szerokości, choć jeśli szerokość nadrzędnego diva jest określona (tak jak w tym przypadku jest to 1000px), to równie dobrze można zastosować konkretne wartości szerokości (menu width: 150px;, tabela width: 840px; bez margin-left).

PS: Jeśli szerokość Twojej całej strony ma wynosić 1000px, to musisz wiedzieć, że w niektórych przeglądarkach od razu pojawi się pionowy pasek przewijania, jeżeli ktoś korzysta z rozdzielczości 1024x768px, a wiele osób z takiej rozdzielczości korzysta. Proponuję zawczasu zmniejszyć szerokość nadrzędnego div-a o 20, 30px.
DerekDX
Cytat(mortus @ 30.04.2010, 23:49:20 ) *
@krzysztof_kf A co to zmieni?

Chodzi o to, że szerokość twoich div-ów zagnieżdżonych 15% (menu width) + 85% (tabela width) + 10px (tabela margin-left) przekracza szerokość elementu nadrzędnego o 10px.
Zamiast używać margin-left można elementowi div o id tabela nadać po prostu 84% lub 83% szerokości, choć jeśli szerokość nadrzędnego diva jest określona (tak jak w tym przypadku jest to 1000px), to równie dobrze można zastosować konkretne wartości szerokości (menu width: 150px;, tabela width: 840px; bez margin-left).

PS: Jeśli szerokość Twojej całej strony ma wynosić 1000px, to musisz wiedzieć, że w niektórych przeglądarkach od razu pojawi się pionowy pasek przewijania, jeżeli ktoś korzysta z rozdzielczości 1024x768px, a wiele osób z takiej rozdzielczości korzysta. Proponuję od razu zmniejszyć szerokość nadrzędnego div-a o 20, 30px.


w sumie masz racje to sa pozostałości po wczesniejszej wesji cssa dzieki na podpowidz i bede musial bardziej przygldac sie kodowi bo popelniam wiele bledow ktore nie powinny sie zdarzac
krzysztof_kf
@mortus dzięki za poprawkę pomyliło mi się z ustawieniem elementów w linii biggrin.gif

  1. <style type="text/css">
  2. div#tresc {
  3. margin-top:120px;
  4. width:1000px;
  5. margin-left: auto;
  6. margin-right: auto;
  7. background-color:#36F;
  8. positon:absolute; top:120px;
  9. display:block;
  10. vertical-align:text-top;
  11. }
  12.  
  13. div#tabela {
  14. width:85%;
  15. float:left;
  16. background-color:#909;
  17.  
  18. }
  19.  
  20. div#menu {
  21.  
  22. width:13%;
  23. height: 200px;
  24. float:left;
  25. }
  26.  
  27. </style>
  28.  


  1. <div id="tresc">
  2. <div id="menu"></div>
  3. <div id="tabela"></div>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.