Autor | Zpráva | ||
---|---|---|---|
smiesek Profil |
#1 · Zasláno: 2. 2. 2015, 11:05:43
Nějak se mi nedaří dohledat a pochopit, jakým způsobem můžu nastylovat RSS kanál, tedy spíše mi jde o to, že bych za pomocí stylování zmenšila IMG soubory, protože je jinak nechávám generovat v takovém formátu, jako je mám uvedené na stránkách.
Došla jsem k následujícímu, což mi samozřejmě nechce fungovat a tak bych poprosila o rady, co dělám špatně. Do souboru pro generování RSS jsem vložila do hlavičky následující řádek echo "<?xml-stylesheet type='text/css' href='style/rss.css' media='screen'?>"; echo '<description><img src="img/karta.jpg"></description>'; Následně jsem vytvořila soubor rss.css
do kterého jsem vložila description img { width: 140px; } Asi to bude vhozeno hodně za hlavu, že mi to nechce fungovat? |
||
juriad Profil |
#2 · Zasláno: 2. 2. 2015, 11:17:32
Problém je v tom, že unvitř description nemáš tagy, ale celý description je jen řetězec, tedy css se na něj neuplatní. Nepomohlo by nastavit obrázku přímo atribut width?
|
||
Trejpa Profil |
#3 · Zasláno: 2. 2. 2015, 12:44:20
smiesek:
To ani nemůže fungovat. Snažíš se, aby RSS soubor (posílaný s MIME "application/rss+xml") fungoval jako HTML soubor. Na to prohlížeče nejsou stavěné. 1) RSS nemá značku <img> . Má značku <image> (popis). RSS čtečky s ní počítají.
2) Značka <image> nebude fungovat v prohlížečích bez zabudované RSS čtečky. Prohlížeč neví a ani nemůže vědět, co ta značka má dělat. Obrázky zpracuje jen u souborů s MIME "text/html" (a několika "xhtml") podle interních pravidel. V obecném XML souboru mají značky <img /> nebo <image /> stejný obecný význam, jako <mojeznacka /> .
3) Prohlížeče vlastně ani nepřesvědčíš, že jde o obecné XML, aby ti to dovolily nastylovat. Buď RSS znají a použijí vlastní styl (Firefox, Internet Explorer) nebo RSS ani jeho MIME neznají a vypíší zdroj (Chrome a odvozená Opera, Safari, Seznam). 4) Jediná šance, jak dostat do Internet Exploreru a Firefoxu přes RSS vlastní HTML obrázek je přes CDATA (příklad). Stylovat to nejde, ani když přes CDATA vložíš HTML <link type="stylesheet" /> nebo <style /> .
Jestli chceš vyrábět RSS, vyráběj RSS v normální podobě. Jestli se to má zobrazit v HTML prohlížeči, vytvoř z toho další HTML soubor s HTML značkami (a MIME). Možná by mohl server očuchat, který formát dané zařízení akceptuje a podle toho mu vyrobit a poslat stejný soubor v jiném formátu. Ale pak budeš řešit cache po cestě k více uživatelům. |
||
smiesek Profil |
#4 · Zasláno: 2. 2. 2015, 13:23:28
Já jsem tu značku img použila proto, aby pokud bude čtečka v RSS kanálu nějakého programu, tak aby se zobrazil obrázek, proto jsem to vložila jako součástí <description>.
Tedy moje řešení pokud chápu správně je nepoužitelné a nelze nějak upravit velikost obrázku. |
||
juriad Profil |
#5 · Zasláno: 2. 2. 2015, 13:31:58
Uvnitř description může být použité HTML, ale to HTML je vůči RSS jen obyčejný text.
Můžeš zkusit přidat nastavit šířku atributem? echo '<description><img src="img/karta.jpg" width="140px"></description>'; |
||
Trejpa Profil |
#6 · Zasláno: 2. 2. 2015, 14:59:09
smiesek:
„Tedy moje řešení pokud chápu správně je nepoužitelné a nelze nějak upravit velikost obrázku.“ Použitelné to bude, ale určitě ne u všech prohlížečů a čteček. Některé zobrazí obrázek, jiné ne. Nicméně nelze vyloučit vypsání zdrojového kódu obrázku nebo chybovou hlášku. Takže to používej… s rozmyslem. Velikost dle juriad, ale bez jednotky. Zadávat jen šířku bude stačit. Do jaké míry si nechají prohlížeče ukecat ve stylování RSS pomocí HTML značek (CDATA nebo <) bude jen na nich. Značku <i> respektuje Internet Explorer i Firefox, ale style použije jen IE. Stále ale hrozí divné nebo žádné zobrazení RSS zdroje.
juriad: Správně je width="140" , ne width="140px" .
|
||
smiesek Profil |
#7 · Zasláno: 2. 2. 2015, 19:17:37
Děkuju za názory, ale tedy ponechám, event. přímo za pomocí tagu zmenším.
|
||
Časová prodleva: 9 let
|
0