Zakázání vertikálního nebo horizontálního scrollbaru

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;
}


Nastylování scrollbaru pro všechny prohlížeče

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í



Internet Explorer 7 – revoluce či evoluce?

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í



Poděkování Czechia.com

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.



Funkce pro resize obrázků

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.