Občas se vám může hodit z nějakých důvodů zakázat vertikální nebo
horizontální posuvník, ale jak na to? Je to jednoduché, existuje na to css
vlastnost overflow-x
a overflow-y
. Mohou nabývat
hodnot hidden(neviditelný), scroll(klasický posuvník) a auto(zobrazí
scrollbar, pokud je potřeba).
Příklad:
#div {
overflow-x: hidden/scroll/auto;
overflow-y: hidden/scroll/auto;
}
Pro všetečné, není to tak jednoduché, jak se na první pohled zdá.
Kdo zkusil, ví o čem mluvím.
Internet Explorer
Kupodivu tady je situace nejjednoduší, stačí odpovídajícímu prvku
přidat sadu stylů v css souboru.
#div-with-coloured-scrollbar {
scrollbar-face-color: #464a5d;
scrollbar-arrow-color: #fff;
scrollbar-highlight-color: #464a5d;
scrollbar-3dlight-color: #fff;
scrollbar-shadow-color: #464a5d;
scrollbar-darkshadow-color: #fff;
scrollbar-track-color: #fff;
}
Pokračování
Určitě se jedná o přelomový krok. Rozdíl mezi několik let starým a
děravým Internet Explorer 6 je znát na první pohled. S blížícím se
nástupem nových Windows Vista v češtině(konec února) byl samozřejmě
lokalizován i IE7. Lokalizovaná verze byla v těchto dnech uvolněna ke stažení.
K nainstalování budete potřebovat legální kopii Windows. Uživatelé
nelegálních verzí se dočkají pravděpodobně v průběhu března, kdy bude
uvolněn IE7 jako kritická záplata přes Windows Update. Rozhodně není
důvod k panice, protože se určitě jedná o krok správným směrem a jako
webdesignérovi mě za pár let ušetří spoustu práce. Jak je známo,
optimalizovat pro IE6 je kolikrát porod, protože z určitého důvodu
nedodržuje dané standarty.
Pokračování
Chtěl bych poděkovat společnosti ZONER software, s.r.o.(provozovatel
serveru czechia.com) za poskytnutí webhostingu LinuxPHP5 v ceně 290,– Kč
na 1 rok zdarma. Tento webhosting jsem získal v rámci oslav 10. výročí
založení. Pokud chcete tento velmi výhodný webhosting získat také, stačí
když k nim převede vaši českou doménu. Musíte si ale pospíšit, akce
trvá pouze do 20.11.2006. Smlouva se uzavírá na dobu neurčitou, takže
není problém za rok přejít k jinému(levnějšímu) poskytovateli.
Dlouho jsem na internetu hledal nějakou funkci, která by jednoduše uměla
resizovat obrázky, ale žádnou vhodnou jsem nenašel. Buď fungovala jen
částečně nebo byla příliš komplexní a pro moje potřeby zbytečně
složitá. Proto jsem se rozhodl napsat vlastní funkci, která mým
požadavkům vyhovuje nejlépe. Funkce je rozebrána formou komentářů ve
zdrojovém kódu.
<?php
function resizePhoto($vstup,$vystup,$width,$height,$aspectratio,$quality) {
/*
$vstup //cesta k původnímu obrázku
$vystup //cesta ke zmenšenému obrázku
$width //šířka zmenšeného obrázku
$height //délka zmenšeného obrázku
$aspectratio //zachovávat poměr stran (0/1)
$quality //komprese (100 - nejlepsi) - doporucuji 75
*/
if(file_exists($vstup)){ //nejprve zjistíme, zda-li byl zadán vstup a existuje
$vstup = ImageCreateFromJPEG($vstup); //načteme si obrázek do proměnné
} else {
echo "resizePhoto: Nebyl zadán vstup !";
return false;
}
$vstup_wd = imagesx($vstup); //zjistíme šířku původního obrázku
$vstup_ht = imagesy($vstup); //zjistíme délku původního obrázku
if($vstup_wd <= $width && $vstup_ht <= $height) {
//pokud je obrázek menší než požadovaná velikost nebudeme počítat nové hodnoty
$width = $vstup_wd;
$height = $vstup_ht;
} else {
if($aspectratio) {
//pokud je zaplý aspect ratio spočítáme novou velikost v daném poměru
$w = round($vstup_wd * $height / $vstup_ht);
$h = round($vstup_ht * $width / $vstup_wd);
if(($height-$h)<($width-$w)){
$width =& $w;
} else {
$height =& $h;
}
}
}
$temp = imageCreateTrueColor($width,$height);
//vytvoříme obrázek o rozměrech zmenšeného obrázku
imageCopyResampled($temp, $vstup, 0, 0, 0, 0, $width, $height, $vstup_wd, $vstup_ht);
//obrázky zkopíruje na sebe, takže dojde vlastně ke zmenšení výsledného obrázku
ImageJPEG($temp, $vystup, $quality);
//uložíme zmenšený obrázek na výstup
imagedestroy($vstup); //uvolnime pamět
imagedestroy($temp); //uvolnime pamět
}
//příklad použítí
resizePhoto('kyticka.jpg','kyticka_mala.jpg','160','160','1','75');
?>
Dále by se dala funkce rozšířit o resize více typů obrázků PNG, GIF
a na vstupu kontrolovat, zda se jedná opravdu o obrázek v daném typu,
například pomocí regulérních výrazů. Funkci můžete volně použít kde
chcete bez udání autora. Akorát bych byl rád za zmínku v komentářích,
jestli se skript někomu hodil.