CSS расширения браузеров

CSS расширения или CSS Extensions содержатся во всех популярных браузерах. Они содержат те свойства, которых нету в утвержденных редакциях CSS, но по мнению создателей браузеров пригодятся web-разработчикам. Среди огромного списка наиболее важными являются свойства из будущего CSS3, которые доступны через индивидуальные префиксы.

Префиксы свойств у всех разные:
-ms-свойство (IE8)
-moz-свойство (FireFox)
-o-свойство (Opera)
-webkit-свойство (Safari, Chrome)

Префикс указывает какому браузеру обрабатывать свойство.

Для примера можно взять полезное свойство закругления углов блока:

  1. .block {
  2. border-radius: 10px; /* CSS3 свойство */
  3. -moz-border-radius: 10px; /* Для FireFox */
  4. -webkit-border-radius: 10px; /* Для Safari и Chrome */
  5. }

Подробная документация, справочники c примерами по CSS3 свойствам и расширениям:

 

, , ,

Комментариев нет

Проблема с блогом WordPress

В сети стал распространяться вирус, способный изменять пароль администратора в блогах WP.
Советуем обновиться до версии 2.8.4. Это можно сделать через панель администратора.

Если вы, по каким-либо причинам, не хотите обновляться в автоматическом режиме - можете сделать это вручную. Откройте файл wp-login.php, найдите функцию reset_password() и замените строку

if ( empty( $key ) )

на строку

if ( empty( $key ) || !is_string( $key ) )

, ,

Один комментарий

Следим за новинками

Очень важно следить за новыми технологиями.

И так скоро на экранах:

HTML5 -  наиболее подробное описание, таблица поддержки браузерами. Как пример - верстка сайтов

CSS3 - таблица совместимости с современными браузерами.

Web slices - описание и примеры реализации.

, , , , ,

Один комментарий

Jquery: Множественный фон, текст в колонки

Есть некоторые полезные свойства которые включены в спецификацию CSS3, но до сих пор не поддерживаются в полной мере современными браузерами(исключение пожалуй составляет только Safari).

И ничего другого не остается как эмулировать эти свойства через Javascript, а лучше с использованием замечательного фреймворка Jquery.

Первое свойство с которого хотелось бы начать это - множественный фон. Применений этому свойству можно найти массу, например уже приевшиеся закругленные уголки в блоке.

И так для реализации множественного фона нам понадобиться сам jquery 1.3.2 и плагин jquery.background_layers.js

Применяем все следующем образом:

  1. <script src=“jquery-1.3.2.min.js” type=“text/javascript”></script>
  2. <script src=“jquery.background_layers.js” type=“text/javascript”></script>
  3.  
  4. <script type=“text/javascript”>
  5. $(function(){ 
  6.     $(’#general’).add_layer("url(’/images/header_back.jpg’) no-repeat center top");
  7.     $(’#general’).add_layer("url(’/images/footer_back.jpg’) no-repeat center bottom");
  8. });
  9. </script>
  10.  
  11. <div id=“general”> множественный фон у этого блока </div>

Второе свойство которое приходится эмулировать это - текст в колонки, по типу газетной верстки. Преимущество этого свойства в том что кусок текста при добавлении на страницу автоматически разбивается на колонки и это не приходится делать вручную.

Для этого понадобиться jquery  1.2.6 и плагин autocolumn.js

Применение этого свойства выглядит так:

  1. <script src=“jquery1.2.6.js” type=“text/javascript”></script>
  2. <script src=“autocolumn.js” type=“text/javascript”></script>
  3.  
  4. <script type=“text/javascript”>
  5. $(function(){
  6.         $(’.column’).columnize({columns:2, width: 300});
  7. });
  8. </script>
  9.  
  10. <div class=“column”>
  11. <h1>Текст в колонки</h1>
  12. <p>Bonorum has. His u  usu in odio offendit theophrastus. Mel labore indoctum cu, ad soleat admodum delicatissimi sed, mei viris tritani ullamcorper eu. Ut vim simul aperiam.</p>
  13. </div>

Более подробные примеры работы этого плагина тут

, , ,

Комментариев нет

Нравятся ли вам материалы этого блога?

View Results

Loading ... Loading ...

Комментариев нет

Функция разделения чисел по разрядам

Для удобного чтения числа лучше делить по разрядам, т.е. из 1000 сделать 1 000, 1000000 = 1 000 000 и т.д.
В PHP уже есть такая функция

  1. number_format($params, , ‘.’, ‘ ‘)

В ней существует непрятная особенность: она не принимает больше 1-го символа в качестве разделителей. Ловкость рук и числа выходят с &nbsp;

  1. function print_price($params) {
  2. return str_replace(‘ ‘, ‘ ’, number_format($params, , ‘.’, ‘ ‘));
  3. }

Чтобы использовать эту функцию в популярном шаблонизаторе smarty, просто прописываем в доступном месте:

  1. $tpl->register_modifier(“print_price”, “print_price”);

Теперь можем писать {$number|print_price} прям в шаблоне.
PROFIT!

, , , ,

Комментариев нет

Функция правильных числовых окончаний

Иногда маленькая, но хорошая вещь доставляет огромное удовольствие.
Функция, которая ставит числовые окончания слова в нужной форме:

  1. function itemWords($col = 0) {
  2. $last = (int)substr($col, -1);
  3. if($last == ‘0′ || ($last &gt; ‘4′ &amp;&amp; $last &lt;= ‘9′)) {
  4. $return = ‘товаров’;
  5. }elseif($last == ‘1′){
  6. $return = ‘товар’;
  7. }else{
  8. $return = ‘товара’;
  9. }
  10. return $return;
  11. }
  12. //Проверяем
  13. echo ‘2′, itemWords(2); //2 товара
  14. echo ‘1′, itemWords(1); //1 товар
  15. echo ‘102′, itemWords(102); //102 товара
  16. echo ‘38′, itemWords(38); //38 товаров
  17.  

enjoy!

,

Комментариев нет

Русские буквы в UTF-8

Часто бывает необходимо работать с кириллицей в UTF-8. PHP до сих не может корректно обрабатывать такие строки. На помощь приходит волшебная функция iconv();

Попробуем обработать русскую строку так, чтобы перевести строку в транслит(например для формирования корректного URL или имени файла для закачки). Напишем функцию rus2lat():

  1. function rus2lat($text) {
  2. $text = substr($text, 0, 250); //обрезаем текст до приличных размеров(для URL)
  3. $rus = array(‘ё’,‘й’,‘ц’,‘у’,‘к’,‘е’,‘н’,‘г’,‘ш’,‘щ’,‘з’,‘х’,‘ъ’,‘ф’,‘ы’,‘в’, ‘а’,‘п’,‘р’,‘о’,‘л’,‘д’,‘ж’,‘э’, ‘я’,‘ч’,‘с’,‘м’,‘и’,‘т’,‘ь’,‘б’,‘ю’, ‘ ‘); //задаем массив русских букв
  4. $eng = array(‘yo’,‘y’,‘c’,‘u’,‘k’,‘e’,‘n’,‘g’,’sh’,’sch’,‘z’,‘h’,‘_’,‘f’,‘i’,‘v’, ‘a’,‘p’,‘r’,‘o’,‘l’,‘d’,‘zh’,‘e’, ‘ya’,‘ch’,’s’,‘m’,‘i’,‘t’,‘_’,‘b’,‘yu’, ‘_’); //соразмерный массив транслита
  5.  
  6. $count = count($rus);
  7.  
  8. for($i = 0;$i &lt;= $count; $i++) { //временно пережимаем всю кириллицу в WIN-1251, для корректной работы
  9. $russ[] = iconv(‘UTF-8′, ‘CP1251//IGNORE’,$rus[$i]); //IGNORE - символы, которых нет в конечной кодировке, будут опущены
  10.  }
  11.  
  12. $word = iconv(‘UTF-8′, ‘CP1251//IGNORE’, $text); //пережимаем текст в WIN-1251
  13. $word = str_replace($russ, $eng, strtolower($word)); //меняем кириллические символы на символы транслита. strtolower можно убрать, тогда придется добавить большие буквы в массивы $rus и $eng.
  14.  
  15. return iconv(‘CP1251//IGNORE’,‘UTF-8′, $word); //возращаем строку в UTF-8
  16. }

Результат работы:

  1. echo rus2lat(‘Привет мир!’); //Hello world. Шутка :) "privet_mir!"
  2.  

Таким же образом можно написать свои функции strtolower_ru(), strtoupper_ru(), ucfirst_ru() и др. Для этого просто надо поиграть со вторым массивом.

, , ,

Комментариев нет

Забудем про IE6




Комментариев нет

Центрирование сайта

Есть много способов центрирования сайта по вертикали и горизонтали.

Наиболее популярный это способ с отрицательными маргинами:

  1. .site {
  2. position:absolute;
  3. left:50%;
  4. top:50%;
  5. width:600px;
  6. height:400px;
  7. margin:-200px 0 0 -300px;
  8. }

Но на практике такой способ не всегда подходит. Например когда нужно, чтобы был вертикальный скроллинг на сайте.

Тогда на помощь приходит старый способ центрирования в ячейке таблицы:

  1. <table width=“100%” height=“100%”>
  2.   <td width=“100%” height=“100%” valign=“middle” align=“center” style=“vertical-align:middle;”>
  3.     < блок с сайтом>
  4.   </td>
  5. </tr>
  6. </table>

Но этот способ наиболее кроссбраузерный без указания DOCTYPE

,

Комментариев нет

Нестандартный скроллинг

Иногда по особой просьбе дизайнера необходимо сделать нестандартный скроллинг на сайте. Изменение внешнего вида скроллбаров поддерживают только IE и Opera, но только без указания DOCTYPE. Для полной кроссбраузерности с DOCTYPE нужно использовать яваскрипт, например jquery.

На этом сайте показан как работает один из таких скриптов - http://kelvinluck.com/assets/jquery/jScrollPane/examples.html

,

Один комментарий

Справочник по CSS 3

http://zapomni.ru/css/ - хороший справочник по CSS 3

Комментариев нет

У Hicon теперь есть блог

Привет мир!

Основная цель нашего блога - это публикация материалов на разные темы, которые в силу определенных причин не могут быть опубликованы в новостях. Через блог мы расскажем вам о том над чем мы сейчас работаем, о видении развития веб-девелопмента, о том какие технологии мы используем и поделимся своим опытом на практических примерах.

,

Комментариев нет