Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS]Przyleganie do prawej krawedzi elementu nadrzednego
DerekDX
post 29.04.2010, 20:07:15
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
luck
post 29.04.2010, 20:12:11
Post #2





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


  1. float:left
oraz
  1. float:right
winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
DerekDX
post 29.04.2010, 20:28:02
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
mortus
post 29.04.2010, 20:42:29
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Albo używasz pozycjonowania (absolutnego, relatywnego), albo stosujesz atrybut opływania (float).
Go to the top of the page
+Quote Post
krzysztof_kf
post 29.04.2010, 20:46:26
Post #5





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

Ostrzeżenie: (0%)
-----


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>
Go to the top of the page
+Quote Post
luck
post 29.04.2010, 20:47:52
Post #6





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
DerekDX
post 30.04.2010, 22:17:34
Post #7





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

Ostrzeżenie: (0%)
-----


dzieki po usunieciu pozycjonowania wszystko chodzi jak nalezy

Możecie mi jeszcze podpowiedzic jak ustawic te dwa elementy w jednej lini?
Go to the top of the page
+Quote Post
krzysztof_kf
post 30.04.2010, 22:21:08
Post #8





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

Ostrzeżenie: (0%)
-----


tzw pokaż kod
Go to the top of the page
+Quote Post
DerekDX
post 30.04.2010, 22:33:53
Post #9





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

Ostrzeżenie: (0%)
-----


  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>
Go to the top of the page
+Quote Post
krzysztof_kf
post 30.04.2010, 22:43:19
Post #10





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

Ostrzeżenie: (0%)
-----


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;


Ten post edytował krzysztof_kf 30.04.2010, 22:44:24
Go to the top of the page
+Quote Post
mortus
post 30.04.2010, 22:49:20
Post #11





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


@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.

Ten post edytował mortus 30.04.2010, 22:55:46
Go to the top of the page
+Quote Post
DerekDX
post 30.04.2010, 22:54:43
Post #12





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
krzysztof_kf
post 30.04.2010, 22:56:53
Post #13





Grupa: Zarejestrowani
Postów: 1 135
Pomógł: 158
Dołączył: 19.03.2009
Skąd: Toruń

Ostrzeżenie: (0%)
-----


@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>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 02:51