ugrás a tartalomhoz

FF-ben nem látszik a háttér(css)

passatgt · 2007. Feb. 13. (K), 23.56
Hali!
Valamiért Firefoxban a tartalom rész nem tolja le a hátteret.Úgy kéne kinéznie mint IE-ben.Mi lehet a gond?

www.ingyen.org/ujfree
 
1

"Lezáró elem"

vbence · 2007. Feb. 14. (Sze), 00.16
A dolog úgy néz ki, hogy a befogadó div nem növi be a float -tal megjelenítetteket, csak a normál elemekig fog nőni. Hogy ezt áthidald hozz létre egy befejező elemet valahogy így:
<div class="hatter">
    <div class="floatos">
        ...
    </div>
    <div class="floatos">
        ...
    </div>
    <div class="floatos">
        ...
    </div>

    <div class="end"></div>
</div>
az end-hez tartozó css:
div.end {
    display: block;
    float: none;
    clear: both; /* Ez azért kell, hogy mindenképpen a float-osok alá kerüljön */
}
Szebb megoldást nem tudok. Nagyon ritka esetekben egy width: 1px; height: 1px; is kell neki, de ezt csak akkor próbáld meg, ha problémája akad. Normál esetben működnie kell.
2

Sikerült

passatgt · 2007. Feb. 14. (Sze), 00.56
Sikerült, köszönöm.
Esetleg az Új cuccok és az alatta levő vonal távolságára nincs ötelted?Ennek is úgy kéne kiéznie mint IE-ben. (Azért elég ritka dolog ez,hogy ie-ben jó,ff-ben nem:))
6

Nem látom, de...

vbence · 2007. Feb. 14. (Sze), 11.33
Nem töltötted fel az új verziót, úgyhogy nem látom, mit szeretnél vele. Csak tippelni tudok: a float-os diveknek van valami margin-bottom -juk, ami ie-ben érvényesül, de ff-ban nem.

Ez azért van, mert a clear:both elem nem veszi figyelembe a float-os elemek margóit, amik után kerül. Hogy mindkét böngészőben működjön: a float-os elemeknek csak top margót adjál (persze jobb meg bal változatlanul lehet), egymástól így el lesznek választva, a végére meg a befogadó divnek legyen egy padding-bottom stílusa, ami a "vonal" távolságát fogja meghatározni a legalsó elemtől.

Az, hogy IE-ben jó FF-ban meg nem eléggé várható, ha ie-re írod az oldalt :) Mellesleg a FF ami jól működik ebben az esetben. A CSS-ből még elég sok minden hiányzik ami a "CSS dizájn" egészséges megvalósításához kell...
10

A címre gondolok

passatgt · 2007. Feb. 14. (Sze), 15.54
A címre gondolok, az Új cuccok felirat, és az alatta levő szaggatott vonal távolságára.
11

Nem néztem át nagyon

vbence · 2007. Feb. 14. (Sze), 17.35
Passz tegyél egy br-t az "Új cuccok" span után. Amúgy a dizájnelemket a szép új világban nem img-ként szoktuk elhelyezni. Ez CSS dolog.

Ha ilyen néhány pixeles eltéréseid vannak próbáld meg a layoutot láthatóvá tenni. akkor látható lesz mihez tartoznak a plusz pixelek. Egy tipp erre:

* {
    margin: -1px;
    border: 1px dashed red;
}
3

szebb megoldás

gex · 2007. Feb. 14. (Sze), 10.51
van erre egy szebb megoldás, amennyiben a dom módosításának kihagyása annak számít.

mellesleg volt már egy párszor ez a téma.
4

nem szebb

vbence · 2007. Feb. 14. (Sze), 11.17
Erről nem hallottam, de nem tetszik. Ez határozottan a hack kategória:
auto
The behavior of the 'auto' value is user agent-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.

Szóval semmi garancia, hogy bármelyik böngésző következő verziójában is így lesz.

Akár egy javascript is felpakolhatná a szükséges end-eket egy meghatározott stílushoz és akkor nem kézzel kell módosítani a fát...
5

de szebb :P

gex · 2007. Feb. 14. (Sze), 11.29
w3schools.com az overflow: auto-ról:
If the content is clipped, the browser should display a scroll-bar to see the rest of the content

Szóval semmi garancia, hogy bármelyik böngésző következő verziójában is így lesz.

miért, azt ki garantálja, hogy ie8-ban szabványos marad a box-model? ez egy változó világ, ha egy böngészőben megváltozik az overflow: auto hatása (amit nagyon kétlek), akkor arra is lesz megoldás. de szerintem még mindig szebb, mint belerakni egy plusz elemet a html-be ami egyből zavaró lesz, ha mondjuk a következő design css-ében már nem lesznek floatolva az elemek.
7

ahogy tetszik

vbence · 2007. Feb. 14. (Sze), 12.07
A w3schools idézetet nem igazán értem. Gyakorlatilag én is ezt szúrtam be. Annak bizonyítására, hogy semmi köze a körbezárásnak az overflowhoz a szabvány szerint.

Az, hogy kihasználjuk a böngészők egy nem szabványos viselkedését az a hack. Az IE-re semmi garancia, de a szabványt követő böngészőkre van. Mégpedig a szabvány. Erről mondasz le, amikor szabványon kívüli dolgokkal oldod meg a problémát.

Ez nem fog változni az új szabvánnyal. Ami új jöhet az néhány új attribútum, egy inline-block például, ami megkönnyíti a dolgod a távoli jövőben. De ami a mostani CSS szerint szabványos az nem látom miért ne lenne örökidőkig az.

Megteheted, hogy javascriptel aggatod oda azokat az end-eket, de a css jelenleg nem áll a helzet magaslatán. Fölösleges egy plusz elemtől húzódozni. Közelében sem vagyunk a dizájn és a tartalom elválasztásának. (Persze akkor igen, ha gyakorlatilag dizájn-mentes oldalt gyártasz.) Addig amíg nincs "multiple backround", és 3 div-be kell burkolni a dolgokat, hogy legyen teteje közepe meg alja, nem hinném, hogy egy üres div elhelyezése probléma lenne.
8

szabvány

gex · 2007. Feb. 14. (Sze), 12.24
jó dolog a szabvány, főleg annak, aki elméletben foglalkozik a dologgal, de a szabvány és a gyakorlat elég messze van egymástól, gondolom ezzel nem mondtam újat. vagy a szabvány jár élen és a gyakorlat próbál felzárkózni (css2 megvalósítása a böngészőkben), vagy fordítva, mint például ez az eset is, ahol az overflow: auto viselkedése szerintem kvázi-szabvány, ami nem fog megváltozni.
egyetértek azzal, hogy mutassuk meg a szabványos megoldást is, de ezzel a lendülettel nem kell elzárkózni egy jobb megoldástól, még ha az nem is szabványos (egyelőre).
9

ahogy gondolod

vbence · 2007. Feb. 14. (Sze), 13.15
de aztán ne gyere azzal, hogy én nem szóltam... :)