Autor | Zpráva | ||
---|---|---|---|
Miloš Profil |
#1 · Zasláno: 2. 4. 2008, 23:26:52
Při svých pokusech jsem narazil na rozdílné chování Opery × FF při zobrazení outline.
Outline se chová jako border – s tím rozdílem, že se nezapočítává do rozměrů prvku. Tolik teorie. Když z takto ohraničeného prvku něco vysunu (ať absolutně vůči relativně pozicovanému rodiči, tak relativně vůči rodiči s position:static), Firefox posune outline orámování, takže se vysunutý prvek nachází stále uvnitř tohoto orámování. Schválně porovnejte zobrazení http://kesolim.sweb.cz/TMP/outline.html v Opeře a ve FF. Zajímalo by mě, který prohlížeč se chová správně, respektive jestli o tom specifikace vůbec mluví (se svou bídnou angličtinou nejsem s to vyčíst něco rozumného). |
||
joe Profil |
#2 · Zasláno: 2. 4. 2008, 23:32:28
Miloš
Osobně bych spíš hledal řešení, jak docílit toho aby to bylo ve všech prohlížečích stejně než zjišťovat, který prohlížeč to zobrazuje správně a který ne. Jinak nevím a ani jsem nikdy v životě outline nepoužil. Přijde mi to zbytečné. |
||
Miloš Profil |
#3 · Zasláno: 2. 4. 2008, 23:40:42
Ano, zbytečné je všechno, co neznáme. Proto dodnes někteří lidé používají IE 6 a není možné jim vysvětlit, že jsou paka.
Jistě by mě potěšilo řešení; přesto mě ale zajímá i odpověď na otázku, které zobrazení je správné. |
||
joe Profil |
#4 · Zasláno: 2. 4. 2008, 23:49:05
Omlouvám se za OT, už nebudu rušit a pak si také přečtu odpovědi, ale nedá mi to nereagovat na toto tvrzení:
Ano, zbytečné je všechno, co neznáme. Proto dodnes někteří lidé používají IE 6 a není možné jim vysvětlit, že jsou paka. IE6 je daleko lepší prohlížeč pro uživatele, než FireFox. Používal jsem FF na prohlížení webů zhruba jeden měsíc a stačilo to, je to hrozný prohlížeč. Je neskutečně pomalý narozdíl od IE6 ;-) |
||
Dero Profil |
#5 · Zasláno: 2. 4. 2008, 23:58:29
Specifikace to nedefinuje.
Logické však pro mě je, že pokud vyjmeme pozicováním prvky z běžného toku dokumentu (případně kontextu rodiče, na který je outline definováno, pokud je tento již vyňat), outline toto nebude reflektovat a bude respektovat hranice boxu, které se takovým činem nemění. Mějme na paměti, že outline je pouhý border se dvěma podstatnými rozdíly: 1/ Neinteraguje s prvky na stránce a nezpůsobí její překres při změně. 2/ Je-li aplikován na řádkový element, pak je na začátcích a koncích řádků vždy uzavřený. Takže já jsem v tomto pro Operu. |
||
Chamurappi Profil |
#6 · Zasláno: 3. 4. 2008, 00:16:41
Reaguji na Dera:
„outline je pouhý border se dvěma podstatnými rozdíly“ Vlastnost „outline“ zasahuje do uživatelského rozhraní (podobně jako třeba „cursor“), a proto se vymyká logice běžného nakládání s boxy. Zmíněné dva rozdíly jsou toho důsledkem a nadhozený třetí rozdíl v Mozille pravděpodobně také. Z pohledu uživatele může být hranice elementu jinde než ji vnímají procedury pro výpočet pozic boxů. Reaguji na Miloše: Specifikace říká, že outline nemusí být obdélníkový a že by měl objímat minimální obrys zapouzdřující všechny boxy elementu. Lze to chápat tak, jak to pochopili vývojáři Mozilly. Pro postup Mozilly hovoří trochu i fakt, že je na výrobu složitější než postup Opery. |
||
Dero Profil |
#7 · Zasláno: 3. 4. 2008, 00:23:04
Chamurappi: Rozhodně dobré připomínky.
|
||
Bubák Profil |
#8 · Zasláno: 3. 4. 2008, 00:51:37
Specifikace říká, že outline nemusí být obdélníkový
V tom případě to dělá správně pouze Opera 9.50. http://png.browsershots.org/3ddf0de40674fc644a3176dc06debfc8.png Pro zajímavost, Opera 9.26 a Safari 3.1 zobrazují outline shodně. |
||
Časová prodleva: 16 let
|
0