ugrás a tartalomhoz

Div probléma

Apofiszh · 2009. Nov. 9. (H), 22.21
Sziasztok!

Nagyon belebonyolódtam egy div problémába, amit nem tudok ,hogy oldjak meg. Körbe írni nem tudom, ezért inkább megmutatom a kódot,
<style type="text/css">
.div_nagy{
    float: right;
    display: inline;
    width: 470px;
    background-color: red;
}
.valtozo_width{
    float: right;
    display: inline;
    width: auto;
}
.sor1{
    float: left;
    display: inline;
    width: 100%;
    text-align: left;
    background-color: yellow;
}
.sor2{
    display: inline;
    float: right;
    background-color: green;
}
.sor2a{
    float: right;
    display: inline;
    background-color: silver;    
}
.sor2b{
    width: 100%;
    float: left;
    display: inline;
    background-color: aqua;
}
.sor2b_balra{
    float: left;
    display: inline;
}
.sor2b_jobbra{
    float: right;
    display: inline;
}
</style>
<div class="div_nagy">
    <div class="valtozo_width">
        <div class="sor1">sor1 sor1 sor1 sor1</div>
        <div class="sor2">
            <div class="sor2a">sor2a sor2a sor2a sor2a sor2a sor2a sor2a sor2a sor2a </div>
            <div class="sor2b">
                <div class="sor2b_balra">
                    helló!!
                </div>
                <div class="sor2b_jobbra">
                    én jobbra
                </div>
            </div>
        </div>
        
    </div>
</div>
.


Azt szeretném elérni,hogy a .sor2a szélessége határozza meg a többi div szélességét, .sor1 szövegét balra szeretném igazítani a .sor2a elejéhez, .sor2b_balra a .sor2a szöveg bal széléhez szeretném igazítani és a .sor2b_jobra szöveget meg a .sor2a végéhez.


------------------------------------------------------------------
|...............|sor1...........................................|
|...............--------------------------------------------------
|...............|sor2a sor2a sor2a sor2a sor2a sor2a|
|...............--------------------------------------------------
|...............|sor2b_balra................sor2b_jobbra|
|-----------------------------------------------------------------

valahogy így :)
Ha valaki tudja miért nem azt akarja a css amit én az legyen szíves megírni, előre is köszönöm szépen a segítséget.

Üdv, A
 
1

miért div?

ironwill · 2009. Nov. 9. (H), 23.28
Szia!

Alapvető kérdés: miért akarod div-el megoldani?
Első ránézésre ez egy táblázat.
<table style="width: 100%">
  <tr>
    <td>&nbsp;</td>
    <td colspan="2">sor1</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="2">sor2a</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td style="text-align: left">sor2b_balra</td>
    <td style="text-align: right">sor2b_jobbra</td>
  </tr>
</table>
(Olykor az emberek túlzásba viszik a TABLELESS fogalmát, ha már létezik, használjuk.)

De lehet, hogy nem ennyire egyszerű tartalmat akarsz beletenni és vázként szeretnéd használni, akkor tényleg érdemesebb div-ekből felépíteni, de táblázattal sokkal könnyebb olyanná varázsolni, ahogy alképzelted.

Az inline-t miért teszed bele? Amikor float-olsz, akkor amúgy is egymás mellé kerülnek az elemek. Vagy, akkor miért teszed bele a float-ot?

Nálam valahogy így nézne ki a kód:

<div style="float: right">
  <div>sor1</div>
  <div>sor2a</div>
  <div>
    <div style="float: left">sor2b_balra</div>
    <div style="float: right">sor2b_jobbra</div>
    <div style="clear: both"></div>
  </div>
</div>
<div style="clear: both"></div>
(A width: auto explorer alatt működik, Firefox alatt nem.)

Sok sikert, remélem tudtam segíteni!

üdv, Gábor
2

inline

Apofiszh · 2009. Nov. 10. (K), 11.34
szia!

Pont ilyen div elrendezés kell nekem, köszönöm szépen!

Az inline és a clear mit csinál pontosan? Azt olvastam egy fórumon,hogy az inline azért kell,h ie és ff ben ugyan akkora legyen a szélessége a diveknek, ez igaz?
3

inline

ironwill · 2009. Nov. 10. (K), 20.17
Szia!

Szívesen.
Bocsánat, csak napközben dolgozom.. :)
A clear-re azért van szükség, mert a float-olt elemek maguk után "ragasztják" a következő elemeket, ezért kell, hogy egy clear-el "letisztítsuk".

3 állapota van: left, right, both (értelemszerűen balról, jobbról, mindkét oldalról)

Az inline-t nem használtam túl sokszor, ezért erről nem tudok nyilatkozni. Én akkor használtam, amikor block típusú elemeket egy sorba akartam rendezni, float-olás nélkül. pl. lista elemek: ul, ol, li

üdv, Gábor
4

clear

Apofiszh · 2009. Nov. 12. (Cs), 01.32
ha jól értem akkor a clear akkor kell ha már nem szeretném ,hogy összeragadjanak? :)