Autor Zpráva
Kryšpín
Profil *
mám na záhlaví stránky tabulku která má jako pozadí obrázek 1px vysoký široký 800, potřeboval bych, aby se obrázek roztáhl i při širších rozlišeních (jedná se o barvu na záhlaví, která vytváří gradient z jedné barvy do druhé).

zápis začátku tabulky je takto:

<table align="center" width=100% style="background-image: url('image/topic/line.jpg')";
background-repeat: repeat-y > .....

nějak nedokážu zajistit aby se při různých rozlišeních a tím i šířky tabulky obrázek vždy roztáhl. Asi by to šlo nějak rozdělit při zjištění rozlišení prohlížeče, ale jedná se o šablonu redakčního systému, a takové zásahy jsou pro mě nejen obtižné ale i nežádoucí. (nepřenositelnost do další verze)

lze to nějak ošetřit přímo v tom zápisu, nebo budu muset to pozadí oželet (docela by mě to mrzelo, je to hezké a datově nenáročné??

Díky za Váš čas
Wan-To
Profil *
Kdyby jsi vždy věděl, jakou bude mít tabulka velikost, mohl bys roztáhnout pozadí pomocí PHP. Ale když to máš takhle, to fakt nevím.
Kryšpín
Profil *
No, on celý ten redakční systém je v PHP. (phpRS)

Problém je, že tohle je šablona stránky a nevím jak do ní dostat informaci, jaké je rozlišení prohlížeče (soubor má příponu .sab) i když jde tam vkládat jakési interní proměnné, které poté program dosadí za výsledek nějaké funkce... tohle nemám moc odzkoušené, asi buď nakonec tam vložím delší obrázek (a oželím trochu jiný vzhled u různých rozlišeních - to jsem použil jako dočasné rešení)

a/nebo se vzdělám v tom systému vkládání šablony a zkusím napsat funkci která podle rozlišení prohlížeče tam vrazí různé obrázky

Víte, tady se ptám, jestli to nejde nějak ošetřit už rovnou tímhle zápisem, což by bylo nejsnažší, a nemusel bych tam přidávat vlastní funkce a komplikovat to. Třeba to nejde, tak se nedá nic dělat. Ale třeba to jde, jen jsem tu informaci nenašel ... ;-)
Leo
Profil
Pokud je to obrazek na pozadi, tak mate jen dve moznosti - bud ho udelat tak, ze se muze opakovat (background-repeat, treba jen v danem smeru), nebo ho udelat vetsi - sirsi. Leo
Kráťa
Profil
Dá se udělat ten obrázek široký třeba 1500px, ale to se ti zase rozhodí ten přechod. Co ten přechod udělat v CSS? Ale nevím, jak hodně by to zatěžovalo počítač klienta a jestli to funguje třeba v Mozille.
Leo
Profil
Prechod? Zalezi jak to presne mate udelane, obrazek na pozadi se da umistit i treba v procentech. V CSS prechod neudelate. Leo
Fred
Profil
Kryšpín Přesně na tuhle otázku jsem se pokoušel najít nějakou uspokojivou odpověď a bohužel nenašel. Je to tady http://interforum.interval.cz/ShowPost.aspx?PostID=8974 Bohužel nové fórum intervalu interpretuje i to co to nemá interpretovat, takže to občas chce mrknout do zdroje, aby člověk věděl co to tam tenkrát napsal za nesmysly ;-) .
Wan-To
Profil *
Tak k obrázku přidej třeba ještě dalších 1000x20 px (podle výšky) a nastav jim nějakou barvu, aby se tam hodila. Je celkem málo pravděpodobné, že nějaká stránka bude širší než šířka původního obrázku + 1000 pixelů.
Leo
Profil
Na tyhle veci je potreba myslet pri navrhu grafiky, bohuzel. Jak ten prechod presne ma vypadat? Leo
Kryšpín
Profil *
No vlastně se můžete i podívat, taková testovací stránka je na http://sisyf.aktualne.cz (grafika záměrně jednouduchá)
Podlad záhlaví je přechod z stejného odstínu modré, jako je obrázek vlevo, který slouží jako logo a odkaz na mainpage (nebo podobného, záleží na prohlížeči, v nějakém se mi myslím ta modrá zobrazí v jiném odstínu, netuším proč)

a je realizován jako přechod do šedého pozadí, jako má zbytek stránky.
obrázek o 1 px je docela málo datově náročný. Ale původně to bylo na 800 px, takže vpravo to už bylo zcela šedé, tohle je kompromis, ten obrázek je široký asi 1150 px

Možná to vyřeším takhle, a případně to doplnim do nějakých 1600 šedou. Ona to není žádná honorovaná zakázka, já se tímhle neživím, jen to dělám pro známé, kteří to možná ani nakonec nepoužijí. Ale chtěl jsem to mít správně, ale zdá se že dokonalé řešení neexistuje.

Jo ještě něco, klidně mi napište i kritiku, chce-li se Vám, ale moc mi nenadávejte, nejsem žádnej expert a ani si na něj nehraju. Grafika a vhodnost barev dohromady mi zatím něco říkají jen okrajově. Spíše si hraju s PHP, ale taky hodně amatérsky. Díky za reakce
Leo
Profil
Musite se asi smirit s tim, ze obrazek proste prejde u sirokych monitoru vpravo do jednotlite sedi (nastavite mu background-repeat na no-repeat). Jako celek se vam background-image nikdy roztahovat nebude. Jinak bych vysku 1px zvetsil, zkuste si to datove, ale prohlizeci se dost ulevi, nemusi to tolikrat vykreslovat. Leo
Fred
Profil
Asi bych to optimalizoval na šířku 1024px a použitý gradient obrázek na pozadí bych udělal 2048px široký a 1px vysoký s tím, že by šel od 0 do 1024px ze modré do šedé a od 1024px do 2048px zpátky ze šedé do modré
Fred
Profil
Leo Aha nemusi to tolikrat vykreslovat to jsem nevěděl
Kráťa
Profil
Já měl na mysli toto:

<div style="filter:progid:DXImageTransform.Microsoft.Gradient(endColorstr=' #CECFCE', startColorstr='#5A9EF7', gradientType='1');height: 100px; border: 1px solid black">
<p align="center">toto je text v divu</p>
</div>

ale koukám, že v Opeře to nefunguje.
Kryšpín
Profil *
jinak Leovi díky za ten tip zvětšit tu výšku (skutečně 5px je jen asi o 10% b větší, a přitom to uleví ve vykreslování 5*. Už jsem si to tak upravil, a vytvořil ho 1600 široký a posunul hranici šedé někam do prostředka. Dělá to přibližně to co chci, a myslím že se budu řídit Yuhůovou radou (napsal to ale v jiné souvislosti) a tedy že se na lidi s rozlišením monitoru větším nežli 1600/něco vykašlu. Ono jich zase teďka tolik nebude, a než bude, tak možná přijdu na nějakou jino metodu.
Toto téma je uzamčeno. Odpověď nelze zaslat.