Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
divy obok siebie - jeden do lewej a drugi do prawej
#1
Mam trzy divy: http://zuka.0host.pl/div/
Co zrobić, żeby div 1 i div3 były zbliżone do lewej, a div2 był zbliżony do prawej strony?
Jeśli korzystam z floatów ( http://zuka.0host.pl/div/float.html ) , to wtedy div zawierajacy (container) znika.
Nie wiem, co z tym zrobic?Rolleyes Czy jest jakieś lepsze rozwiązanie niż float? Może inline-block?

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Test</title>
        <link rel="stylesheet" href="style.css" />     
    </head>
    <body>
        <div id="CONTAINER">    
            <div class="news">
                <p>div1 na lewo</p>
            </div>                
            <div class="news">
                <p>div2 na prawo</p>
            </div>        
            <div class="news">
                <p>div3 na lewo</p>
            </div>        
        </div><!--end #container-->
    </body>
</html>
Kod:
* {
    margin: 0;
    padding: 0;
}

html {
    width:100%;
}
body {
    width:100%;
    font-family:Arial, sans-serif;
    text-align:center;
}

#CONTAINER {
    width:970px;
    margin: 0 auto ;/*wysrodkowanie*/
    text-align:left;
    padding:7px 1px 0;
    border:1px solid red;
}
.right{
    float:right;
}
.left{
    float:left;
}
.inline-block{
    display:inline-block;
}
.news {
    width:40%;
    border:1px solid blue;
    margin-bottom:7px;
    height:200px;
}
Odpowiedz
#2
Witaj,

Po pierwsze nadaj #container { overflow: hidden;}, po drugie, gdzie w kodzie html masz divy .right, .left? Nie widzę ich, więc jak ma to działac, skoro tylko dla nich ustalileś/aś opływanie?
Nie potrzebujesz w tym celu nic innego jak opływania. Nadaj odpowiednie szerokości kontenerkom, potem odpowiednie floaty.

Ja zrobiłbym to tak: Tworzysz sobie dwie deklaracje .news-left i .news-right. Obu dajesz szerokośc na 40% po czym do news left float: left a do right float: right. Divowi container overflow: hidden i musi działac.

Pozdrawiam.
Odpowiedz
#3
(01-02-2011, 05:50)Ancik napisał(a): Witaj,

Po pierwsze nadaj #container { overflow: hidden;}, po drugie, gdzie w kodzie html masz divy .right, .left? Nie widzę ich, więc jak ma to działac, skoro tylko dla nich ustalileś/aś opływanie?
Nie potrzebujesz w tym celu nic innego jak opływania. Nadaj odpowiednie szerokości kontenerkom, potem odpowiednie floaty.

Ja zrobiłbym to tak: Tworzysz sobie dwie deklaracje .news-left i .news-right. Obu dajesz szerokośc na 40% po czym do news left float: left a do right float: right. Divowi container overflow: hidden i musi działac.

Pozdrawiam.

Masz rację, nie wkleiłam kodu z floatowaniemTongue Dodałam tylko link do strony. Miało to wyglądać tak, że każdy div ma klasę news i odpowiednio dodatkowo klasę right lub left.
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Test</title>
        <link rel="stylesheet" href="style.css" />     
    </head>
    <body>
        <div id="CONTAINER">    
            <div class="news left">
                <p>div1 na lewo</p>
            </div>                
            <div class="news right">
                <p>div2 na prawo</p>
            </div>        
            <div class="news left">
                <p>div3 na lewo</p>
            </div>        
        </div><!--end #container-->
    </body>
</html>

Dziękuję Ci za uświadomienie mi o istnieniu czegoś takiego jak overflow:hidden Big Grin A ja się cholera tyle męczyłam..Wink
Odpowiedz
#4
Polecam się na przyszłośc Wink

Pozdrawiam.
Odpowiedz
#5
No to w takim razie mam następne pytankoSmile

Sytuacja jaką mam jest zobrazowana tutaj-> http://zuka.0host.pl/div/float.html

Jak zrobić, żeby div2(po prawej) miał długość taką jak container, czyli jak suma długości divów z lewej?

Próbowałam z height:100%, ale już wyczytałam, że to działa tylko gdy container ma ustaloną długość w px, a tego nie chcęTongue

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Test</title>
        <link rel="stylesheet" href="style.css" />     
    </head>
    <body>
        <div id="CONTAINER">    
            <div class="left">
                <p>div1 left</p>
            </div>                
            <div class="right">
                <p>div2 right</p>
            </div>        
            <div class="left">
                <p>div3 left</p>
            </div>        
        </div><!--end #container-->
    </body>
</html>
Kod:
* {
    margin: 0;
    padding: 0;
}
#CONTAINER {
    width:970px;
    border:1px solid red;
    overflow:hidden;
    padding:5px;
}
.left {
    float:left;
    width:40%;
    border:1px solid blue;
    margin-bottom:7px;
    height:100px;
}
.right {
    float:right;
    width:40%;
    border:1px solid blue;
    margin-bottom:7px;
    min-height:100px;

}
Odpowiedz
#6
Cytat:Jak zrobić, żeby div2(po prawej) miał długość taką jak container, czyli jak suma długości divów z lewej?

Nie rozumiem. Suma divów po lewej stronie nie jest równa długości containera (to 80% jego długości). Poza tym, dla diwa znajdującego się po prawej stronie, możesz nadac width:100% z uwagi na to, iż szerokośc containera (rodzica) jest zdefiniowana w pikselach (940px). Jeżeli jednak tak zrobisz, to zajmie on całą szerokośc, a divy będące po lewej stronie spadną pod niego. Diwowi po prawej stronie powinnaś nadac odpowiednią szerokośc w pikselach, chociaż nie wiem dokładnie jaki efekt chcesz osiągnąc.

Pozdrawiam.
Odpowiedz
#7
(02-02-2011, 02:47)Ancik napisał(a):
Cytat:Jak zrobić, żeby div2(po prawej) miał długość taką jak container, czyli jak suma długości divów z lewej?

Nie rozumiem. Suma divów po lewej stronie nie jest równa długości containera (to 80% jego długości). Poza tym, dla diwa znajdującego się po prawej stronie, możesz nadac width:100% z uwagi na to, iż szerokośc containera (rodzica) jest zdefiniowana w pikselach (940px). Jeżeli jednak tak zrobisz, to zajmie on całą szerokośc, a divy będące po lewej stronie spadną pod niego. Diwowi po prawej stronie powinnaś nadac odpowiednią szerokośc w pikselach, chociaż nie wiem dokładnie jaki efekt chcesz osiągnąc.

Pozdrawiam.

Nie chodzi mi o width, ale o height. Chcę aby div2 kończył się w miejscu gdzie kończy się ostatni div po lewej (ale namieszałamTongue ).

...hmm, może pokażę Ci stronę, którą robię http://zuka.0host.pl/v2/

Na tej stronie w kontenerze (czyli pod header) znajdują się 3 divy, dwa są do lewej jeden do prawej. I chodzi o to, że chciałabym aby równo się kończyły w kontenerze u dołu nad stopką. Czyli, chciałabym wyrównać diva z prawej z tym z lewej, aby kończyły się w tym samym miejscu, w tej samej linii.

Mam nadzieję, że zrozumiesz o co mi chodziRolleyes


Załączone pliki
.jpg   div.jpg (Rozmiar: 81.51 KB / Pobrań: 0)
Odpowiedz
#8
Wybacz, nie doczytałem Wink

Spróbuj, może min-height zadziała.

Pozdrawiam.
Odpowiedz
#9
Google.pl => css faux columns

W każdym linku poprawne rozwiązanie znajdziesz.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  jeden css mnie wykańcza. meblesam 11 9,060 17-04-2013, 01:52
Ostatni post: meblesam
  [PHP] Tworzenie załączników jeden po drugim martinprz 0 1,970 09-10-2012, 02:34
Ostatni post: martinprz
  Ustawienie obrazków obok siebie przemek2909 3 2,371 22-08-2012, 16:10
Ostatni post: kornell
  Dynamiczny podział na dwa divy - drukowanie tunio 0 1,971 13-04-2012, 21:22
Ostatni post: tunio
  Tekst przesunięty do lewej w tabeli na środku strony Feniks01 6 6,112 29-03-2012, 00:45
Ostatni post: Bucky

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl