Firefox 1.5 CSS float bug?
Sziasztok!
A http://www.kontenerpiac.hu/ oldalról lenne szó. Bal oldalt van egy keresődoboz, ami IE 6 és FF 1.0.7 alatt tökéletesen megjelenik, de a FF 1.5 alatt teljesen szétesik. Mintha nem venné figyelembe a clear:left paramétert.
Én toltam el valamit, vagy tényleg bugos a kedvenc böngészőm?
■ A http://www.kontenerpiac.hu/ oldalról lenne szó. Bal oldalt van egy keresődoboz, ami IE 6 és FF 1.0.7 alatt tökéletesen megjelenik, de a FF 1.5 alatt teljesen szétesik. Mintha nem venné figyelembe a clear:left paramétert.
Én toltam el valamit, vagy tényleg bugos a kedvenc böngészőm?
Én ezzel kezdeném...
:-)
Kijavítva, mégsem
CSS?
http://jigsaw.w3.org/css-validator/validator?uri=www.kontenerpiac.hu&usermedium=all
Vaólban
definition list
Nem definició
Pápább a pápánál?
Meghatározás: ISO 20 lábas.
Meghatározandó: Telephely.
Meghatározás: Budapest.
Ez legalább annyira szemantikus, mint dialógusok felcímkézéséhez használni:
"Another application of DL, for example, is for marking up dialogues, with each DT naming a speaker, and each DD containing his or her words."
http://www.w3.org/TR/html4/struct/lists.html#h-10.3
És ez csak "for example", azaz más célokra is használhatod.
Továbbá:
"A form can contain text and markup (paragraphs, lists, etc.) in addition to form controls."
http://www.w3.org/TR/REC-html40/interact/forms.html
Szerintem még amellett is lehet érvelni, hogy a form valójában tabuláris adatokat tartalmaz, tehát hagyományos módszerrel táblázatként is fel lehet címkézni.
Megoldható, deeee
Hát köszi a válaszokat, de nem az a bajom, hogy nem tudom máshogy megoldani, hanem az, hogy a formcontrol-okat szeretném CSSből formázni és nem működik a float. Ha belegondolsz, nem csak ilyen helyzetekben használhatom, mint ahogy nem is csak ilyen helyzetben használom a floatot. És máshol is bugzik...
Mire?
Miért ne?
Szerintem jó megoldás lehet a divek használata az egyes label-select elemek
csoportosítására. Az elrendezésük pedig egyszerűbb mintha pl. <br>-eket szurkálnék be minden egyes select elem után csak azért mert sortörésre van szükségem, így a div mint block elem automatikusan hozza magával ezt a tulajdonságot és még egy csoportba is fogja a label-select párost, plusz karakteres böngészőben is jobban mutat.
Tehát szerintem semmi baj nincs azzal hogy div-et használ a probléma megoldására.
</noocx>
Miért formcontrol?
Hát, a formcontrol használatára irányuló kérdésekre igen egyszerű a válasz:
Hogyan lehet kézenfekvően megcsinálni azt, hogy mondjuk egy "formcontrol" a hozzá tartozó label-lel együtt kapjon egy színes hátteret? Ez esetben nem érdekes, de az admin-felületen használtam ilyet.
Másik kér(d)ésem az lenne, hogy valaki magyarázza el érthetően a float-ot, mert én úgy értelmeztem a talált leírásokat, hogy lehet clearing div nélkül is dolgozni.
Ha a saját logikámból indulok ki, akkor egy
Így van/kellene lennie? Mert nem ezt veszem észre.
<Nincs cím>
Nem jól gondolod
(Ezalól kivétel amikor maga a befoglaló elem is floatolt, illetve ha overflow:auto tulajdonságú.)
Ok
Előre bocsátom, hogy olyan okokat fogo írni amik túl lépnek a hagyományos böngésző értelmezésen és mindenféle HTML-t értelmezni tudó feldolgozóra gondolok.
Éreztem, hogy túl sarkos kijelentés volt. HTML tagből viszonylag kevés van, így sokszor valóban érdemes tágítani az egyes jelölők használati eseteit. Ennek a tágításnak mindenkinél máshol vannak a határai. Azt gondoltam:
- az input és label elemek a for és id attributúmuknál fogva már össze vannak kapcsolva, erre ráhúzni még egy dt-dd jellegű összekapcsolást is már felesleges.
- szerintem a szabványban példaként megadott párbeszéd jelölés már nagyon vad használat, ugyanis a dt-dd pár rettentően jól feldolgozható lenne. Pl egy keresőbe beírva: "definition:css" vissza adná találatként azokat a dd definició magyarázat bejegyzéseket amiknél a dt a definicó a CSS. Nyilván egy input mező nem lenne értelmes definició..
- aztán arra gonodoltam, hogy a definició és magyarázata szerep mellett a mostani esetben használt: tulajdonság-érték párok használata eléggé elterjedt. A fenti keresős mókát persze ez is tönkre tenné, hiszen pl egy elméleti "css deinition:position" keresésre nem a CSS position tulajdonság magyrázatát kapnánk hanem egy absolute vagy relative értéket.
- aztán azt gondoltam, ha a tulajdonság-érték párnak vesszük akkor jelöljük a form eredményében így a dolgokat de ne magában a formban. Arra gondlok ugyanis, hogy esetleg egy eszköz speciális módon kezeli a dt-dd párokat és speciálisn kezeli az űrlpokat és a kettő összeütközik. Pl egy telefonon keresztüli böngésző felolvassa az űrlap mező címkéjét, majd várja, hogy bediktáljuk, beüssük neki az értéket, egy definiciós listát viszont nem elejétől végéig elolvas, hanem felsorolja a listában lévő címeket.
- végül arra jutottam, hogy ha már speciálisan kezeljük a dt-dd taget akkor már lehet annyi esze annak a feldolgozónak, hogy az űrlapbn szereplő tagekre is van megoldása, aminek kb az az értelme, hogy amit ide beírsz, az eredményként ilyen jelölést kap.
Végül, hogy miért nem táblázat: mert űrlap mezők nem igazi mátrix szerű adatok. Mert táblázatban nem használható a fieldset mező az egyes beviteli mezők összefogására.
szörszálhasogatás
Ugye a tag szó helyett az elem elnevezést szeretted volna használni ?
Végülis nem túl nagy probléma csak kicsit zavaró amikor olvasom az irásod és az elemek helyett azok tagjaira gondolok.
</noocx>
Akkor kövi kérdés
Van a következő HTML kód:
Köszi
Ha jól értem...
1.
Jobb oldali sidebar: float right. Margin-left: content + baloldali sidebar szélessége.
2.
Content + baloldali sidebar: az egészet betenni egy extra divbe, ez fel fog csúszni a jobb oldali sidebar mellé.
3.
Az extra diven belül content: float right. Margin-left: a bal sidebar szélessége. A bal sidebar fel fog csúszni a content mellé.
"<p><img class="floatleft" /> Valami szöveg</p>"
Szerintem ilyen állat nincs.
Ha a szöveget a kép köré akarod folyatni, akkor simán megoldható egy float-tal az img elemen. Ha nem akarod, akkor semmit nem kell vele csinálni, a p magától az img alá fog törni.
Egyébként három hasábnál már elég komoly gondot jelenthet a hasábok közti fehér területek és a lábléc kialakítása. Én ahol lehet abszolút pozicionálást használnék float-ok helyett - de ez persze ízlés dolga.
Elvi dolog...
Nem konkretan arrol volt szo, hogy most 3 hasabos v mi legyen, hanem arrol, h ha van egy div, amelyik ki van floatolva, amellett van meg egy div, abban egy ugyan olyan float es alatta egy clear-elt valami, akkor hogy oldhato meg, hogy ne a kulso kifloatolt div ala torje, hanem a belso (ez esetben a content) divben levo floatolt elem ala torje.
Extra div a barátod
:(
Közben megoldottam a dolgot. Némi abszolut-relatív pozicionálást vittem be a dologba. Még játszom vele, hátha sikerült egy tiszta float megoldást találnom, ami kielégíti az igényeket.
Szemantika?
Üres div...
Plusz elem nélküli float clear
Cool
Miért jobb?
1 sor
Attila
2 sor
_height:1%;
overflow:auto;
A kérdés elvi szempontból érdekes - szerintem sokan átestek a túlsó oldalra, és azt hiszik, hogy csak akkor lehet tartalmat felcímkézni, ha a címke leírja a tartalom jelentését. Ez általában igaz, kivéve a div, span és br elemeket. Erre mondtam azt, hogy egyesek pápábbak a pápánál, a W3C szerint ugyanis ezek az elemek STÍLUSHORGONYOK. Ha én az attlad szó 6 betűjét 6 különböző színnel akarom szedni, és beteszek 6 span-t, akkor teljesen szabványosan használom az elemet, erre való. Jelenleg az a divat, hogy inkább egy 200x nagyobb kép, csak nehogy legyen a kódban egy "üres" span vagy div, mert az nem "szemantikus". Hát tényleg - de miért kéne annak lennie?
Táblázatok elszaparododása
DE! Alapvetően az CSS-nek nem szabadna visszahatnia a HTML kódra. Tehát csak azért betenni egy plusz HTML elemet, mert ott nekem éppen kell egy kis piszok mert a grafikus úgy álmondta meg. Ha ugyanis elfogadjuk azt, hogy a CSS miatt állandoan a HTML-be nyúlkálunk akkor igazából nem különítettük el a dizájnt a szerkezettől. Pontosítok: ebben az esetben az alapvető dokumnetum szerkezetet jelölő elemek mellé betettünk stílus miatt szükséges elemeket.
Ha tovább visszük ezt a gondolatmenetet akkor egy esetleges grafika lecseréléskor ezeknek az elemeknek az egyrészét nem fogjuk használni és feleslegessé vállhat. Az ilyet pedig nem szeretjük.
Ez az elmélet. A gyakorlatban mivel egy elemhez korlatoltan tudunk csak stílus elemeket hozzátenni, pl csak egy háttérkép lehet ezért a legnagyobb trükközések mellett is előfordulhat, hogy az a jobb megoldás ha beteszünk egy plusz elemet. De ez egy döntés eredménye és nem a szabvány "ajánlott" megoldása!
Ha nem tartjuk magunkat ahhoz, hogy a lehető legkevesebb HTML elemmel oldjunk meg egy problémát akkor oda juthatunk mint anno a táblázatokkal. Elsőre nagyon jól nézett ki a dolog: 1-2 cellára osztottuk a táblázat és minden problémánk megoldodott. Aztán gondolkodás nélkül amikor látszólag fel kellett osztani megint a dizájn miatt egy területet, újabb beágyazott táblázatok jöttek és ez szépen elburjánzott. A gyakorlatban ezt szeretnék a kóderek elkerülni.
Alapból
Plusz információkat nyerhetsz ki a HTML kódból, ha szemantikus. De amúgy én nem minden esetben mondom azt, hogy ne legyen egy plusz HTML elem se a kódban. A válasz arra ment, hogy azt írtad csúnya CSS hack, szerintem meg ebben az esetben egyszerűbb/rövidebb/jobb az overflow megadása mint plusz div meg annak style.
Attila
<Nincs cím>
Mert egy div igazából szerintem tartalmi egységek összefogására való, és nem pedig mindenféle megjelenítési problémák kiküszöbölésére.
</noocx>
W3C
Egyelőre maradok a W3C-nél:
DIV, SPAN: generic style/language container.
Tehát a div és a span mindenféle megjelenítési problémák megoldására való. A div pl. arra, hogy különböző tartalmakat az oldalon egy helyre csoportosítsunk. Lásd a Weblabor nyitólapján a jobb oszlopot:
-felhasználói profil
-szavazás
-könyvajánló
-archívum
Ezeknek az égvilágon semmi köze egymáshoz - leszámítva, hogy mindegyik elfér egy keskeny álló téglalapban. Ezért kerültek egy helyre.
Ezt olvasd el:
A DIV és SPAN jelentés nélküli általános elemek melyek arra szolgálnak, hogy a kóder a saját kedve szerinti strukturális(!) elemeket hozzon létre. Vagyis előre definiált jelentésük nincsen, a programozó ruházhatja fel őket jelentéssel.
Végül persze "finomhangolhatja" CSS segítségével az újonnan bevezett elemek kinézetét - a már definált többihez hasonlóan. De ebben van egy előidejűség: ha már megvan az eleme annak a kinézetét változtathatom és nem fordítva!
Oké...
<div>
-felhasználói profil
-szavazás
-könyvajánló
-archívum
</div>
Hol itt a struktúra? Egyébként én 3 esetben szoktam extra címkét használni:
1. Float problémák.
Oldalanként 1 db plusz div-vel megoldható.
2. Többhasábos elrendezés margói
Erre kizárólag az IE dobozmodell-probléma miatt lehet szükség. Három hasábnál 1 db plusz div.
3. Inline stílus
Ha nincs logo img, és egy kicsit fel akarom dobni:
<h1>WEB<span>labor</span></h1>
Tehát oldalanként mondjuk 3 plusz elem. (És ez már egy elég összetett oldal, általában nem kell ennyi.) Ha ez burjánzás, akkor vállalom.
:-)
Struktúra
Attila
Egyetértünk
Ki szól le kit?
:-)
2 szó 1 sor
<Nincs cím>