Categories
CSS HTML5 Wordpress Работа

Premium real estate HTML template

After more than 4 months of late night hours I’m really pleased to see my (and my partner’s) work finally on Themeforest.

We’ve been working really hard to create this premium real estate HTML template and we are focusing on moving to the next phase now – fully functional, cutting edge and out of the box properties/estates manager in a form of a WordPress theme. We know that there are some really good competitors but we will try “to make waves” 🙂

We call it Estetico!

Check out the screenshots gallery!

02_screen1-jpg

Picture 1 of 5

We will not let it just be. In the next few weeks we will add some cool new features to HTML template … let’s say it will be version 1.1.

Cheers!

Categories
CSS HTML5

Силата и красотата на HTML5 и CSS3 събрани на едно място

Когато работата се превърне в повече от работа и дори в повече от хоби, човек започва все по-трудно да се впечатлява или поне при мен е така. Колегите по цял свят бълват проект след проект, всеки един от които е от много добър до чисто съвършенство, но въпреки това аз не оставам с отворена уста от видяното. След прекарани хиляди часове в разработката на проекти, когато видя нещо имам най-малкото обща представа как е направено, а това че не съм го направил аз е въпрос на липсата на идея (малко реклама).

Причината да пиша този пост е, защото най-сетне се намери проект, който меко казано ме впечатли. HTML5 и CSS3 отдавна са нещо повече от блян сред разработчиците и започнаха масово да се налагат като техники, на които може да се разчита. Създателите на The Expressive Web са направили чудеса и са съчетали каймака на двете технологии и са направили брилянтен начин за презентацията им. Приветствам всеки, който иска да научи “какво ново”, а и всеки, който иска да направи кратка справка, да посети експеримента.


Categories
CSS Работа

Сигурни начини за прехващане на Internet Explorer *

Въпреки че на Internet Explorer 6 главата беше отрязана (от Google, Facebook, WordPress, а и от самите Microsoft), тялото му продължава да се движи в агония и ще е трън в очите на разработчиците до края на годината. Но дори и когато “тялото” му бъде заровено и цветята (ако има изобщо опечалени) бъдат разнесени от вятъра, идва поредния проблем – с неговите по-големи братя. Последните години критиките бяха насочени предимно към 6-ицата, а липсите и пропуските в 7 и 8 останаха пренебрегнати.

И тъй като няма как с вълшебна пръчица да накараме големите корпорации да използват по-модерни браузъри (Google Chrome, Mozilla Firefox, Opera или Internet Explorer 9) ще трябва да се съобразяваме с потребителите. Защото в края на деня, най-важното е потребителят / клиентът да са доволни от продукта.

От друга страна не може да се съобразяваме вечно с по-слабите и да ги бутаме напред, защото така няма да се види края скоро. Единият от начините да се съчетаят модерното с корпоративното е прогресивното подобряване. (б.а. прогресивно подобряване е термин, който обединява редица технологии, с чиято помощ потребителите на по-модерни браузъри получават по-добър продукт, докато се запазва използваемостта за браузърите, които не поддържат нужните технологии). Ето защо белгийският колега Mathias Bynens е направил чудесен подбор на най-популярните и най-стабилните начини за таргетиране / прихващане на Internet Explorer в статия наречена “В защита на CSS хаковете – представяване на “безопасни” хакове“.

Аз предпочитам използването на отделени CSS правила за конкретната версия на Internet Explorer (conditional comments), но само при крайна нужда! Ако основният markup и css код са написани по стандартите, то остава малко до почти никаква допълнителна поддръжка. Имайте го това предвид!

Categories
CSS HTML5 JavaScript Работа снимки

Текущото състояние на HTML5 forms

HTML5 се опитва да категоризира най-често използваните имплементации на уеб формите. Избор на дата чрез интерактивен календар е едва ли не стандарт за повечето форми в наши дни. Но за да се постигне тази интерактивност се изискват допълнителни JavaScript библиотеки и CSS файлове. Те добавят освен желания ефект и извънредно количество трафик и забавяне на зареждането на страницата. Какво би било ако съвременните браузъри поддържат такъв календар по подразбиране? Точно това прави HTML5 групата, но внедряването на работните версии в браузърите е трудна задача, която се протаква с години.

Специализираният сайт за изработка на уеб форми Wufoo е изработил чудесна таблична извадка за текущото състояния на поддръжка в различните браузъри както и информация за отделните атрибути и предлага JS полифили за постигане на същият ефект в по-старите версии.

Categories
CSS HTML5

Vbox7 HTML5 видео player (alpha1)

В началото на тази година така популярният сайт за видео обмен YouTube публикува експериментална HTML 5 версия на своят сайт. Тя се изразяваше в използването на новия video таг, който от своя страна позволява гледането на видео клипове без нуждата от инсталиран Adobe Flash Player. И докато за YouTube е нормално да експериментират с нови технологии, които да улеснят техните потребители, то българският видео портал Vbox7 изостава. И то много сериозно!

Но тази статия не е с цел критикуване на пичовете от Vbox7, а с цел да покаже че и техният player може да бъде направен единствено и само с помощта на HTML 5, CSS3 и малко Java Script.

Разработеният от мен player е в изключително начален стадий (работил съм не повече от 5, 6 часа) и в следващите няколко дена ще го подобрявам и обновявам. Част от функциите към момента са:

  1. Play/Pause
  2. Показване на колко време е изминало от началото на клипа
  3. Преместване на slider-а за seek на клипа

Какво НЕ може да прави? Всичко останало 🙂 и най-вече да показва клипове от сайта на Vbox7 (за сега!).

Важно е да отбележа, че започнах разработката с идеалната цел да науча по-добре за новите възможности на CSS3 и HTML 5 и не целя да подронвам авторитета на Vbox7 по какъвто и да е начин.

Към момента има добра поддръжка за Firefox 3.6.7, Chrome 5.0.375 и Safari 4.0.5. IE-тата не подлежат на коментар (за сега!)

Следете блога. Скоро ще публикувам следващата версия, с включени повече опции като контрол на звука, свободен seek, цял екран и fallback за по-старите браузъри. Също така съм предвил и подробна статия за работа с видео контрола.

ВИЖТЕ ДЕМОТО

Categories
CSS

CSS3 липсващите свойства

Все повече и повече CSS3 навлиза в Интернет пространството. Предлагат ни се нови и все необходими свойства като text-shadow, box-shadow, border-radius, transforms и още и още.

Но колкото повече свойства изискват, толкова повече си задаваме въпроса: “Какво друго може да ни се предложи?”. Ето част от моите хрумвания по въпроса.

  1. Избирателна повторяемост на фона
    Винаги съм искал да вкарам всичко в една картинка или така нареченият “sprite”. Когато елемента, на който трябва да се сложи фон, е с точно определена ширина и височина всичко е ОК. Но ако трябва една картинка да се разпростре по цялата дължина или височина на елемента трябва да се прави отделен sprite или отделна картинка. Чудесено би било ако можеше да указваме от коя картинка да се отреже, какво да е името на сектора (за да може да се обръщаме към него и занапред), откъде да се отреже и с какви размери.  Ако въпросният сектор се и кешира за следващо използване всичко би било на шест. Ето един пример как би изглеждала подобна директива.

    background-crop: url( ‘/path/to/sprite.jpg’ ), name( ‘footerbg’ ), from( 10px 20px ), size( 5px 10px );
    background: use( ‘footerbg’ ) repeat-x top left

    За: Намаляват се броя на заявките към сървъра. В най-добрият случай ще трябва само едно сваляне.
    Против: Това временно отрязване на картинката ще бави рендването на страницата.

  2. Константи!
    В общия случай не е толкова фрапантна липсата на константи в CSS. Може да се направят множествени селекти на елементите, които трябват да имат еднакъв цвят,  фон или рамка. Но какво ще стане ако искаме елементите от header-а да имат определен цвят (на текста), който да е същият както border-а на footer елементите? Трябва два пъти да дефинираме този цвят – един път за border-а и един път за color-а. А какво става когато този цвят трябва се замени. Find and replace? Може би. Но защо не е по-културно решение с константа? Пример:

    /* Define a simple constant */
    constant {
    name: ‘mainColor’;
    value: ‘#FF00FF’;
    }

    /* Usage */
    #header {
    background-color: $mainColor;
    }

    Прекрасно, нали?

    За: По-добре поддържан код.
    Против: Ако се вкарат константи, някой ще поиска и условни конструкции и CSS от описателен език, ще се превърне в изпълним. И тук пак идва проблема с производителността.

  3. Еднаквост на размерите на два и повече елемента.
    Най-баналният пример за това свойство е многоколоннта решетка. Две колони – лява и дясна, като дясната трябва винаги да е с височината на лявата. Въпреки че има добри решения на този проблем и сега, би било далеч по-лесно ако се добави правило за уеднаквяване на размерите на избраните елементи. Пример:

    #leftColumn, #rightColumn {
    eq-height: true;
    }

    #header, #footer {
    eq-width: true;
    }

    За: Изграждането на колонни и грид структури ще бъде много по-лесно.
    Против: Е, тук нещо против тази директива не мога да се сетя 🙂

Ако и вие се сещате за подобни добри идеи, споделете ги в коментарите. А на мен ако ми дойдат още идеи и аз ще ги споделя.

Забележка: Това не са валидни CSS правила!