Autor Zpráva
radekt
Profil
Dobrý den všem,
zde jsem se dočetl, že lze pomocí podmíněných komentářů oddělit IEMobile od desktopové verze MSIE:

<!-- Je-li prohlížeč nižší nebo roven IE 9 a nejedná se o Windows Mobile -->
<!--[if (lte IE 9) & (!IEMobile)]>
 <link rel="stylesheet" type="text/css" href="/css/ie9.css">
<![endif]-->

To by mělo smysl, kdyby se v centrálním stylopisu používal např. flexbox, styl ie9.css by používal float model, protože MSIE 9 a nižší verze flexbox neumí, přičemž podmíněný komentář by vyloučil volání ie9.css pro IEMobile, pokud ten by flexbox uměl.

Jenomže na Caniuse se pro IEMobile uvádí, že flexbox umí IEMobile 11, pro nižší verze neuvádí nic - ani ano, ani ne. Pro desktopový MSIE platí, že verze 9 flexbox neumí, verze 10 s vendor prefixem a teprve verze 11 jej plnohodnotně umí. Nevíte někdo, jak to má IEMobile verze 6 až 11?

Díky
Radek Tůma
anonymníí
Profil *
radekt:
Když už budeš dělat fallback bez flexboxu, co tě vede k tomu dělat druhou verzi s ním a nepoužít bezflexboxobou variantu pro všechny prohlížeče?
radekt
Profil
anonymníí:
Flexbox umí daleko víc než float model a většina prohlížečů, včetně mobilních, ho umí, tak proč ho nepoužít. Takže v html nejprve volám styl s flexboxem a za ním fallback pro prohlížeče, které ho neznají (většinou starší prohlížeče MS rodiny).
Chamurappi
Profil
Reaguji na radekta:
[if (lte IE 9) & (!IEMobile)]
Tímto říkáš, že se obsah podmíněného komentáře má použít na desktopové verzi.
Od verze 9 už mobilní Explorer nereaguje na IEMobile, takže ho nejde podmíněným komentářem odlišit od desktopového. Mobilní verze 8 nikdy neexistovala. Mobilní verze 7 a starší v podstatě nikdo nepoužívá – sedmička šla všem upgradovat na devítku, společně s velkým a oblíbeným upgradem WP 7 na WP 7.5. Mobilní šestka je ještě vzácnější, ještě z nedotykové éry chytrofonů (respektive z neprstodotykové).

Jinak jsou mobilní verze Explorerů prakticky shodné s desktopovými. Od verze 10 nepodporují podmíněné komentáře vůbec.
Verze 10 podporuje starší verzi flexboxu (rozdíl není jen v prefixu), protože se specifikace radikálně změnila těsně před dokončením. Verze 11 by měla podporovat novější pracovní návrh bez prefixů, ale nijak jsem ho nezkoušel. Specifikace flexboxu je pořád jen working draft, nic není jisté.

Flexbox umí daleko víc než float model
Co nejde udělat tabulkou/floatem/pozicováním? (Dosud jsem flexbox moc nezkoumal a vesměs při stavbě layoutu nenarážím na situace, které nejde vyřešit.)
radekt
Profil
Chamurappi:
Ahoj,
desktopové devítky jako poslední podporují podmíněné komentáře - pokud jsou mobilní verze prakticky shodné s desktopovými (mají stejné jádro?), tak by i mobilní devítka podmíněné komentáře měla také podporovat. Jsi si tím jistý, že mobilní devítka nereaguje na IEMobile?

Co nejde udělat tabulkou/floatem/pozicováním?
např. stejná délka sloupců bez ohledu na jejich obsah. Tedy ve float modelu to šlo, ale pomocí různých hacků (jestli si vzpomínám dobře, tak třeba pomocí záporného paddingu -9999px nebo tak nějak)
anonymníí
Profil *
radekt:
Žádné hacky nejsou potřeba, hlavní trik je v tom, že reálně ani nepotřebuješ mít ty sloupce stejně dlouhé, stačí jen, že stejně dlouhé vypadají. To je jedna ze základních věcí, které se řeší už od pradávna a stačí na to řádek v CSS. Žádný flexbox ani fallback k němu není potřeba, zbytečná práce navíc.

Jestli používat technologii, kterou naopak musíš hackovat (rozuměj zkoumat verze podmíněnými komentáři, tvořit fallbacky), kvůli stejně dlouhým sloupcům, tak to je divný důvod :-)

Hm, a k tomu zápornému paddingu... Nejsem si jistý, ale myslím, že padding může nabývat jen kladných hodnot.
Chamurappi
Profil
Reaguji na radekta:
pokud jsou mobilní verze prakticky shodné s desktopovými (mají stejné jádro?)
Mají. Jen je to mobilní jádro osekané o nějaké starší či exotičtější technologie (VBScript, VML, většinu filterů, webfonty atd.).

Jsi si tím jistý, že mobilní devítka nereaguje na IEMobile?
Jsem si jistý. Náhodou tu dnes mám čerstvě nabitý a zapnutý svůj starý telefon, tak jsem si to i ověřil. Podmíněné komentáře zná, ale za IEMobile se nepovažuje.

např. stejná délka sloupců bez ohledu na jejich obsah.
Na to bohatě stačí tabulkové hodnoty display, ne?
Nebo se to běžně řešilo pozadím, dokud byl důležitý Explorer 7.

třeba pomocí záporného paddingu -9999px nebo tak nějak
Sice jsem to tak nikdy nedělal, ale používala se tuším kombinace velkého paddingu a záporného marginu. (Záporný padding mít nejde.)
radekt
Profil
Chamurappi:
Díky moc za vysvětlení a otestování.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: