<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Софкейз</title>
	
	<link>http://sofcase.net</link>
	<description>Все про веб-разработку, веб-дизайн, юзабилити и UI</description>
	<lastBuildDate>Tue, 17 Apr 2012 07:43:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/sofcasenet" /><feedburner:info uri="sofcasenet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Красивый 3D текст на CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/70MJ7qGdZyY/</link>
		<comments>http://sofcase.net/post/nice-3d-text-css3/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 07:43:09 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[text]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1393</guid>
		<description><![CDATA[Очередной мой набросок чего-либо на CSS3, когда есть пару свободных минут. В этот раз это не кнопки или какой-либо UI контрол, а текст, и не просто текст, а красиво оформленный в 3D представлении.]]></description>
			<content:encoded><![CDATA[<p>Очередной мой набросок чего-либо на CSS3, когда есть пару свободных минут. В этот раз это не кнопки или какой-либо UI контрол, а текст, и не просто текст, а красиво оформленный в 3D представлении.</p>
<p><span id="more-1393"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/nice-3dtext/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/nice-3dtext/nice-3dtext.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/70MJ7qGdZyY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/nice-3d-text-css3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/nice-3d-text-css3/</feedburner:origLink></item>
		<item>
		<title>Симпатичная и легкая кнопка на CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/Pt3MILKeajg/</link>
		<comments>http://sofcase.net/post/cute-and-light-button-css3/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 12:05:57 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[light]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1470</guid>
		<description><![CDATA[Да, и опять кнопки, ну в этот раз не кнопки, а одна кнопка. Пример её использования вы можете видеть на моём блоге. Изначально я её и делал для дизайна своего блога, но вот решил и поделиться, правда слегка измененную, так что забирайте и пользуйтесь.]]></description>
			<content:encoded><![CDATA[<p>Да, и опять кнопки, ну в этот раз не кнопки, а одна кнопка. Пример её использования вы можете видеть на моём блоге. Изначально я её и делал для дизайна своего блога, но вот решил и поделиться, правда слегка измененную, так что забирайте и пользуйтесь.</p>
<p><span id="more-1470"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/cute-button/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/cute-button/cute-button.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/Pt3MILKeajg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/cute-and-light-button-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/cute-and-light-button-css3/</feedburner:origLink></item>
		<item>
		<title>Новое обновление блога</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/aXlmVIJjUzo/</link>
		<comments>http://sofcase.net/post/blog-new-update/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 11:48:48 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1307</guid>
		<description><![CDATA[Ну что же, после стопитцот нарисованных макетов дизайна для своего блога, я все же определился и наконец-то добрался до верстки макета. Выкроив по пару часов в день, довел бложек до ума. Наслаждаюсь результатом :)]]></description>
			<content:encoded><![CDATA[<p>Ну что же, после стопитцот нарисованных макетов дизайна для своего блога, я все же определился и наконец-то добрался до верстки макета. Выкроив по пару часов в день, довел бложек до ума. Наслаждаюсь результатом :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/aXlmVIJjUzo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/blog-new-update/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/blog-new-update/</feedburner:origLink></item>
		<item>
		<title>Вторая версия плагина jNotifier для показа уведомлений на сайте</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/mZkxjMJ4F1A/</link>
		<comments>http://sofcase.net/post/jnotifier-v2/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 09:37:37 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1275</guid>
		<description><![CDATA[Привет всем. Помните еще в Апреле 2011 года я делал плагин для показа сообщений уведомлений на сайте? Кто не помнит или не знает, вот ссылка на пост. В общем недавно решил немного его переделать. Полностью изменил внешний вид на более симпатичный, а также сделал небольшой конфигуратор для демонстрации плагина в работе. На заметку, шрифт в [...]]]></description>
			<content:encoded><![CDATA[<p>Привет всем. Помните еще в Апреле 2011 года я делал плагин для показа сообщений уведомлений на сайте? Кто не помнит или не знает, вот <a href="http://sofcase.net/post/beautiful-notifications-using-css3-and-jquery/" title="Красивые уведомления на сайте используя CSS3 и jQuery" target="_blank">ссылка</a> на пост. В общем недавно решил немного его переделать. Полностью изменил внешний вид на более симпатичный, а также сделал небольшой конфигуратор для демонстрации плагина в работе.</p>
<p><span id="more-1275"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jnotifier-v2/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jnotifier-v2/jnotifier-v2.zip" class="cute-button">Скачать исходники</a></div></p>
<p>На заметку, шрифт в сообщениях используется PT Sans Narrow. Взять его можно с Google Fonts, если вам лень искать, тогда вот полный путь CSS для подключения шрифта на свой сайт:</p>
<pre class="brush: xml; title: ; notranslate">&lt;link href=&quot;http://fonts.googleapis.com/css?family=PT+Sans+Narrow&amp;subset=latin,cyrillic&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;</pre>
<p>Плагин прекрасно работает под последним билдом jQuery, а именно под версией 1.7.1. В целом внешний вид сообщений получился гораздо изящней предыдущей версии. Забираем и пользуемся, и если хотите отблагодорить, то можете купить плагин на стоке <a href="http://codecanyon.net/item/jnotifier/238021" title="jNotifier на CodeCanyon" target="_blank">CodeCanyon</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/mZkxjMJ4F1A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/jnotifier-v2/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/jnotifier-v2/</feedburner:origLink></item>
		<item>
		<title>Делаем плагин модальных окон на jQuery и CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/hftOxf2L5Ew/</link>
		<comments>http://sofcase.net/post/make-plugin-modal-windows-on-jquery-and-css3/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 11:01:30 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[modal]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=752</guid>
		<description><![CDATA[Ох, я так давно ничего не писал в блог, не так ли. Вот собственно решил исправить ситуацию новым но очень поздним постом. Сегодня расскажу про создание плагина модальных окон на jQuery. Плагин не сверхъестествен, просто отображение любого рода HTML кода в модальном окне. Шаг первый. Вертска Ну и как всегда начнем с верстки. Для нашего [...]]]></description>
			<content:encoded><![CDATA[<p>Ох, я так давно ничего не писал в блог, не так ли. Вот собственно решил исправить ситуацию новым но очень поздним постом. Сегодня расскажу про создание плагина модальных окон на jQuery. Плагин не сверхъестествен, просто отображение любого рода HTML кода в модальном окне.</p>
<p><span id="more-752"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jmodal/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jmodal/jmodal.zip" class="cute-button">Скачать исходники</a></div></p>
<h3>Шаг первый. Вертска</h3>
<p>Ну и как всегда начнем с верстки. Для нашего модального окна нам нужен основной контейнер, заголовок сообщения, контейнер для содержимого и кнопка закрытия окна. Также нам нужен и оверлей для покрытия всех элементов сайта (чтобы юзер не кликал нигде пока не закроет окно).<br />
В результате у нас получается вот такой вот код:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div id=&quot;jm-fader&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;jm-container&quot;&gt;
	&lt;a href=&quot;#&quot; class=&quot;jm-close&quot;&gt;&lt;/a&gt;
	&lt;div class=&quot;jm-header&quot;&gt;Some title&lt;/div&gt;
	&lt;div class=&quot;jm-content&quot;&gt;Lorem ipsum!&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Этот код вы можете разместить у себя на сайте в конце или в начале элемента BODY, разницы нет.</p>
<h3>Шаг второй. Стили</h3>
<p>И так, верстка у нас есть теперь нужно чтобы наши элементы красиво выглядели и по умолчанию были скрыты. Долго я не баловался и получился вот такой вот код:</p>
<pre class="brush: css; title: ; notranslate">#jm-fader {
	background: #888;
	display: none;
	position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 100;
}

#jm-container {
	background-color: #000;
	padding: 10px;
	width: 400px;
	font-family: Ubuntu, Tahoma, Arial; 

	display: none; overflow: hidden;
	position: absolute; top: 0; left: -1000px; z-index: 150;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 3px;

	-webkit-box-shadow: 0px 0px 15px #333;
	-moz-box-shadow: 0px 0px 15px #333;
	-o-box-shadow: 0px 0px 15px #333;
	box-shadow: 0px 0px 15px #333;
}

div.jm-header {
	font-size: 15px;
	color: #fff;
	margin: 0px 5px 10px;
}

div.jm-content {
	background-color: #fff;
	font-size: 13px;
	color: #454545;
	padding: 10px;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
}

a.jm-close {
	background: url('../images/jm-close.png') center no-repeat;
	width: 15px; height: 15px;
	display: block; float: right;
	margin: 2px 3px 0;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;

	-webkit-opacity: .2;
	-moz-opacity: .2;
	-o-opacity: .2;
	opacity: .2;
}

#jm-container:hover a.jm-close {
	-webkit-opacity: 1;
	-moz-opacity: 1;
	-o-opacity: 1;
	opacity: 1;
}
</pre>
<p>Вот такой вот CSS получился в итоге, конечно же из-за CSS3 красивостей код потолстел в два раза, что не может не огорчать, увы! Но не будем об этом, нам ведь главное чтобы все было красиво :)</p>
<h3>Шаг третий. jQuery плагин</h3>
<p>Что нам необходимо от небольшого плагина для показа модальных окон? Раз он не большой то нам достаточно лишь показывать его и дать возможность закрывать, для полезности добавим еще колбек-функции на открытие и закрытие. И для удобности сделаем возможность закрывать окно по клавише Escape, а не только по клику на крестик. Я думаю можно добавить еще эффект появления окна из-за границы экрана при откртыии и наоборот. Ну приступим:</p>
<pre class="brush: jscript; title: ; notranslate">(function($) {
	$.jModal = function(header, content, options) {
		// устанавливаем настройки и смерживаем их с дефолтными
		options = $.extend({
			width: '400px'
		}, options);

		// находим все необходимые элементы
		var fader = $('#jm-fader');
		var container = $('#jm-container').css('width', options.width);

		var headerContainer = $('#jm-container &gt; .jm-header');
		var contentContainer = $('#jm-container &gt; .jm-content');
		var closeButton = $('#jm-container &gt; .jm-close');

		// проверяем оверлей и показываем его
		if (fader.length) {
			fader.css({
				opacity: .35,
				height: $(document).height()
			}).show();
		} else {
			if (console &amp;&amp; console.error) {
				console.error('[jModal] #jm-fader контейнер не найден.');
			}
			return false;
		}

		// проверяем все ли части модального окна есть
		if (!container.length &amp;&amp; !headerContainer.length &amp;&amp; !contentContainer.length &amp;&amp; !closeButton.length) {
			if (console &amp;&amp; console.log) {
				console.error('[jModal] Нехватает некоторых контейнеров модального окна.');
			}
			return false;
		}

		// настраиваем модальное окно
		headerContainer.text(header);
		contentContainer.html(content);

		// центрируем и показываем модальное окно
		container.show().css({
			top: (parseInt($(window).height()) / 2) - (parseInt(container.height()) / 2)
		}).animate({left: (parseInt($(document).width()) / 2) - (parseInt(options.width) / 2)}, 350, function () {
			// если есть коллбек на открытие, выполняем его
			if (typeof options.open != 'undefined') {
				options.open.call(container);
			}
		});

		// вешаем закрытие окна на кнопку закрыть
		closeButton.one('click', function() {
			container.animate({left: '-1000px'}, 350, function() {
				this.style.display = 'none';
				fader.hide();

				// если есть колбек на закрытие, то выполняем
				if (typeof options.close != 'undefined') {
					options.close.call(container);
				}
			});
		});

		// и клавишу Escape
		$(document).one('keydown', function(e) {
			if (e.keyCode == 27) {
				container.animate({left: '-1000px'}, 350, function() {
					this.style.display = 'none';
					fader.hide();

					// если есть колбек на закрытие, то выполняем
					if (typeof options.close != 'undefined') {
						options.close.call(container);
					}
				});
			}
		});

		// если пользователь скроллит, тогда перемещаем окно
		$(window).scroll(function() {
			container.stop(true, false).animate({top: window.scrollY + (parseInt($(window).height()) / 2) - (parseInt(container.height()) / 2)}, 500);
		});

		return true;
	}
})(jQuery);</pre>
<p>Ухтышка! У нас получилось! Надеюсь комментариев в коде предостаточно для понимания алгоритма и сти работы скрипта. Если нет, тогда жду вопросы в комментариях :)</p>
<h3>Шаг четвертый. Запускаем</h3>
<p>Теперь мы запустим скрипт в действие, для проверки его работоспособности. Давайте создадим вот такой код заглушку и подключим все необходимые нам файлы:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;
	&lt;title&gt;jModal&lt;/title&gt;

	&lt;link href=&quot;css/base.css&quot; rel=&quot;stylesheet&quot; /&gt;
	&lt;link href=&quot;css/jmodal.css&quot; rel=&quot;stylesheet&quot; /&gt;

	&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;js/jmodal.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;
	$(window).ready(function() {
		$('#show-jm-first').click(function() {
			$.jModal('Обычное сообщение', 'Это просто красивое модальное окошко, ничего больше. Используется для уведомления пользователя о каких либо действиях.');
		});
		$('#show-jm-second').click(function() {
			$.jModal('Сообщение с коллбеками', 'На окна можно вешать коллбек, на открытие и на закрытие.', {
				open: function(container) {
					$('#show-jm-log').text('Модальное окно открылось!');
				},
				close: function(container) {
					$('#show-jm-log').text('Модальное окно закрылось :)');
				}
			});
		});
	});
	&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div id=&quot;wrap&quot;&gt;
		&lt;a href=&quot;#&quot; id=&quot;show-jm-first&quot; class=&quot;jm-show&quot;&gt;Показать обычное модальное окно&lt;/a&gt;
		&lt;a href=&quot;#&quot; id=&quot;show-jm-second&quot; class=&quot;jm-show&quot;&gt;С коллбеками на клик и закрытие&lt;/a&gt;
		&lt;br /&gt;
		&lt;div id=&quot;show-jm-log&quot; style=&quot;text-align: center; color: #666;&quot;&gt;&lt;/div&gt;
	&lt;/div&gt;

	&lt;div id=&quot;jm-fader&quot;&gt;&lt;/div&gt;
	&lt;div id=&quot;jm-container&quot;&gt;
		&lt;a href=&quot;#&quot; class=&quot;jm-close&quot;&gt;&lt;/a&gt;
		&lt;div class=&quot;jm-header&quot;&gt;Some title&lt;/div&gt;
		&lt;div class=&quot;jm-content&quot;&gt;Lorem ipsum!&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Теперь запускаем это в браузере и смотрим результат. Ухты, все работает. Теперь поясню как использовать скрипт.<br />
Вариант первый, указываем только заголовок и содержимое:</p>
<pre class="brush: jscript; title: ; notranslate">$.jModal('Обычное модальное окно', 'Содержимое модального окна.');</pre>
<p>Вариант второй, указываем ширину и колбеки:</p>
<pre class="brush: jscript; title: ; notranslate">$('#show-jm-second').click(function() {
	$.jModal('Сообщение с коллбеками', 'На окна можно вешать коллбек, на открытие и на закрытие.', {
		width: 600,
		open: function(container) {
			alert('Модальное окно открылось!');
		},
		close: function(container) {
			alert('Модальное окно закрылось :)');
		}
	});
});</pre>
<p>В саму колбек функцию приходит один параметр, это ссылка на основной контейнер модального окна.</p>
<p>Ну вот и все, на этом можно поставить точку и надеяться, что разъяснил как можно проще и доступней, ведь в первую очередь этот пост нацелен на аудиторию новичков в jQuery :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/hftOxf2L5Ew" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-plugin-modal-windows-on-jquery-and-css3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-plugin-modal-windows-on-jquery-and-css3/</feedburner:origLink></item>
		<item>
		<title>Еще одни кнопки для темного фона на CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/lRBDnBhf3L0/</link>
		<comments>http://sofcase.net/post/one-more-buttons-for-a-dark-background-on-css3/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 08:49:59 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1244</guid>
		<description><![CDATA[Ой давненько ничего не выкладывал :) В общем, на днях запилил новые кнопочки на CSS3 для сайтов с темным фоном. Смотрятся неплохо, так ведь. Добавил им анимации при нажатие, будто реальные. Сделал всего только три цвета, остальные думаю сами сможете добавить.]]></description>
			<content:encoded><![CDATA[<p>Ой давненько ничего не выкладывал :) В общем, на днях запилил новые кнопочки на CSS3 для сайтов с темным фоном. Смотрятся неплохо, так ведь. Добавил им анимации при нажатие, будто реальные. Сделал всего только три цвета, остальные думаю сами сможете добавить.</p>
<p><span id="more-1244"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/buttons-for-dark-bg-se/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/buttons-for-dark-bg-se/buttons-for-dark-bg-se.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/lRBDnBhf3L0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/one-more-buttons-for-a-dark-background-on-css3/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/one-more-buttons-for-a-dark-background-on-css3/</feedburner:origLink></item>
		<item>
		<title>Prefixr — удобный сервис для веб-разработчиков</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/uEOnAqHHMlc/</link>
		<comments>http://sofcase.net/post/prefixr-useful-service-for-web-developers/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 08:58:03 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[envato]]></category>
		<category><![CDATA[format]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1085</guid>
		<description><![CDATA[Сегодня я хочу рассказать вам про удобный сервис Prefixr от Jeffrey Way. Узнал я о нем около месяца назад, и сразу начал активно использовать. Данный сервис дополняем ваш CSS код необходимыми кроссбраузерными свойствами и даже выполняет некие другие кастомные функции. И так, в области форматирования кода, сервис умеет его сжимать, а также добавлять перенос строки [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня я хочу рассказать вам про удобный сервис <a href="http://prefixr.com/" title="Prefixr" target="_blank">Prefixr</a> от <a href="http://net.tutsplus.com/author/jeffreyway/" title="Jeffrey Way" target="_blank">Jeffrey Way</a>. Узнал я о нем около месяца назад, и сразу начал активно использовать. Данный сервис дополняем ваш CSS код необходимыми кроссбраузерными свойствами и даже выполняет некие другие кастомные функции.<br />
<span id="more-1085"></span><br />
И так, в области форматирования кода, сервис умеет его сжимать, а также добавлять перенос строки после каждого свойства. Обе функции кастомные. В области вставки в код кроссбраузерных свойств есть немного больше функции, во первых он вставляет все существующие префиксы, т.е.: -webkit, -moz, -o, -khtml и-ms.</p>
<p>Есть возможность отключить вставку какого-либо префикса, либо всех, но отключить -webkit отдельно нельзя. Работает сервис очень просто, вы вставляет ваш код в необходимое поле, указываете необходимые функции, и после получаете результат. Из недостатков могу сказать только, что нет группировки свойств, я например свойства font-* пишу в одну строку, и после пользования сервисов бывает неудобно их вручную опять группировать. </p>
<p>Также у сервиса есть API. Вы можете встроить его в такой софт как: Sublime Text 2, TextMate, Espresso, Vim и другие. Либо можете обращатся к сервису напрямую по линке <a href="http://prefixr.com/api/index.php" target="_blank">http://prefixr.com/api/index.php</a> и в качестве аргумента передавать ваш CSS код (?css=&#8230;).</p>
<p>Ну вот и всё, советую пользоваться данным сервисом для удобства и ускорения разработки.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/uEOnAqHHMlc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/prefixr-useful-service-for-web-developers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/prefixr-useful-service-for-web-developers/</feedburner:origLink></item>
		<item>
		<title>Делаем небольшую крутилку картинок на jQuery</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/f1VM2Zh1BM8/</link>
		<comments>http://sofcase.net/post/jsimpleslide-make-small-slider-using-jquery/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 07:51:33 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1114</guid>
		<description><![CDATA[Давненько я не писал уроков по jQuery. Сегодня мы с вами поговорим про то как сделать небольшую крутилку картинок с тайтлами и даже ссылками. Естественно весь код мы обернем в плагин для jQuery, который я назвал jSimpleSlide! Ну что же, давайте приступим. Шаг первый. Верстка Ну во первых нам необходимо подготовить верстку, и стили для [...]]]></description>
			<content:encoded><![CDATA[<p>Давненько я не писал уроков по jQuery. Сегодня мы с вами поговорим про то как сделать небольшую крутилку картинок с тайтлами и даже ссылками. Естественно весь код мы обернем в плагин для jQuery, который я назвал <b>jSimpleSlide</b>! Ну что же, давайте приступим.</p>
<p><span id="more-1114"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jsimpleslide/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jsimpleslide/jsimpleslide.zip" class="cute-button">Скачать исходники</a></div></p>
<h3>Шаг первый. Верстка</h3>
<p>Ну во первых нам необходимо подготовить верстку, и стили для неё. У нас будет основной контейнер, внутри него будет еще три: заголовок, сама картинка и кастомная ссылка. У нас должно получится следующие:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div id=&quot;j-simple-slide&quot;&gt;
	&lt;div class=&quot;j-simple-slide-header&quot;&gt;jSimpleSlide&lt;/div&gt;
	&lt;div class=&quot;j-simple-slide-image&quot;&gt;&lt;/div&gt;
	&lt;a class=&quot;j-simple-slide-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;
&lt;/div&gt;</pre>
<p>Ну вот, с версткой мы определились. Надеюсь из названий классов, всем понятно какой элемент за что отвечает! Главному контейнеру мы дали идентификатор <b>j-simple-slide</b>, на него мы будем вешать на плагин.</p>
<h3>Шаг второй. Стили</h3>
<p>Естественно одной версткой не обойдется, надо еще задать определенные стили для правильного отображения и работы нашей крутилки, ну и конечно же для приведение всего в симпатичный вид. Стили будут следующие:</p>
<pre class="brush: css; title: ; notranslate">#j-simple-slide {
	width: 450px; height: 300px;
	margin: 0 auto;
	position: relative;
}

#j-simple-slide .j-simple-slide-image {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;

	-webkit-box-shadow: 0px 1px 10px #111;
	-moz-box-shadow: 0px 1px 10px #111;
	box-shadow: 0px 1px 10px #111;

	width: 450px; height: 300px;
}

#j-simple-slide .j-simple-slide-image img {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;

	display: block;
	width: 450px;
	height: 300px;
}

#j-simple-slide .j-simple-slide-header {
	position: absolute; top: 15px; left: 15px; z-index: 10;
	background: rgba(0, 0, 0, .6);
	padding: 5px 10px;
	font-size: 15px; font-family: Ubuntu, Tahoma, Arial; color: #fff;

	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

#j-simple-slide a.j-simple-slide-link {
	position: absolute; bottom: 15px; right: 15px; z-index: 10;
	background: #000;
	padding: 3px 5px;
	display: none;
	font-size: 13px; font-family: Ubuntu, Tahoma, Arial; color: #fff; text-decoration: none;

	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

#j-simple-slide a.j-simple-slide-link:hover {
	background: #fff;
	color: #000;
}</pre>
<p>И так, главный контейнер мы сделали относительной позиции, чтобы внутри него можно было аккуратно слоями расставить элементы как нам необходимо. Все внутренние элементы естественно имеют абсолютное позиционирование. Для симпатичного вида добавили немного прозрачности для заголовка, закругленные углы для всех элементов, и немного тени, используя свойства из CSS3 (border-radius, box-shadow, rgba).</p>
<h3>Шаг третий. Яваскрипт (сам плагин)</h3>
<p>Ну вот и дошли наши руки до самого плагина. Дабы не писать код кусками, я постараюсь объяснить коротко алгоритм (в коде я постараюсь описать более подробнее). И так, в первую очередь мы мержим(объединяем) настройки плагина с нативными, затем объявляем переменные ссылающиеся на jQuery объекты наших контейнеров слайдера, а также задаём им сразу содержимое. Затем инициализируем интервал на листание картинок, использую при этом анимацию затемнения. </p>
<pre class="brush: jscript; title: ; notranslate">(function($) {
	$.jSimpleSlide = function(container, images, options) {
		// мержим настройки с стандартными
		options = $.extend({
			animateSpeed: 1000, // время анимации
			delay: 4000 // задержка между картинками
		}, options);

		// сохраням тек. позицию и кол. картинок
		var currentPosition = 0;
		var totalImages = images.length;

		// объявляем перемнные ссылающиеся на контейнеры
		var $container = $(container);
		var $headerContainer = $container.find('div.j-simple-slide-header').text(images[0].title);
		var $imageContainer = $container.find('div.j-simple-slide-image');
		var $link = $container.find('a.j-simple-slide-link');

		var $currentImage = $('&lt;img&gt;', {
			src: images[0].src,
			alt: images[0].title
		}).appendTo($imageContainer);

		// устанавливаем первую картинку
		$imageContainer.css('background-image', 'url(' + images[0].src + ')');
		if (typeof images[0].link != 'undefined') {
			$link.attr('href', images[0].link.href).text(typeof images[0].link.text == 'undefined' ? 'Перейти' : images[0].link.text).show();
		}

		// запускаем интервал, на указанное в настройках время
		setInterval(function() {
			// меняем тек. картинку(позицию)
			currentPosition++;
			currentPosition = (totalImages == currentPosition) ? 0 : currentPosition;

			// скрываем заголовок и ссылку
			$headerContainer.hide();
			$link.hide();

			// подменяем у контейнера фон на новую картинку
			$imageContainer.css('background-image', 'url(' + images[currentPosition].src + ')');

			// а текущую постепенно делаем прозрачной
			$currentImage.animate({opacity: 0}, options.animateSpeed, function() {
				// меняем текст заголовка и показываем
				$headerContainer.text(images[currentPosition].title).show();

				// если указанна ссылка, тогда устанавливаем её и показываем
				if (typeof images[currentPosition].link != 'undefined') {
					$link.attr('href', images[currentPosition].link.href).text(
						typeof images[currentPosition].link.text == 'undefined' ? 'Перейти' : images[currentPosition].link.text
					).show();
				}

				// меняем картинку и убираем прозрачность
				$currentImage.attr({
					src: images[currentPosition].src,
					alt: images[currentPosition].title
				}).animate({opacity: 1}, options.animateSpeed);
			});
		}, options.delay);
	}
})(jQuery);</pre>
<p>Вот собственно и всё, наш небольшой плагин готов :) И теперь можно запускать его в бой и тестить, все ли правильно работает. Давайте подготовим заглушку для проверки.</p>
<h3>Шаг четвертый. Запускаем</h3>
<p>Давайте подготовим заглушку для проверки плагина, код у нас будет таким вот:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;
	&lt;title&gt;jSimpleSlide&lt;/title&gt;

	&lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;css/base.css&quot; /&gt;
	&lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;css/jsimpleslide.css&quot; /&gt;

	&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot; src=&quot;js/jsimpleslide.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;
	$(window).ready(function() {
		$.jSimpleSlide('#j-simple-slide', [
			{src: 'images/slide-1.jpg', title: 'Может по пельмешке?', link: {
				href: 'http://www.kungfupanda.com/',
				text: 'Перейти на официальный сайт'
			}},
			{src: 'images/slide-2.jpg', title: 'Планета 51', link: {
				href: 'http://www.youtube.com/watch?v=_4LSg8s5XF4',
				text: 'Смотреть трейлер'
			}},
			{src: 'images/slide-3.jpg', title: 'И имя ему, - Ранго!', link: {
				href: 'http://www.rangomovie.com/intl/ru/',
				text: 'Читать больше про Ранго'
			}}
		]);
	});
	&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div id=&quot;wrap&quot;&gt;
		&lt;div id=&quot;j-simple-slide&quot;&gt;
			&lt;div class=&quot;j-simple-slide-header&quot;&gt;jSimpleSlide&lt;/div&gt;
			&lt;div class=&quot;j-simple-slide-image&quot;&gt;&lt;/div&gt;
			&lt;a class=&quot;j-simple-slide-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Теперь запускаем заглушку в браузере и любуемся результатом труда. Как вы уже думаю поняли, вызов плагина выглядит так:</p>
<pre class="brush: jscript; title: ; notranslate">$.jSimpleSlide('#j-simple-slide', [
	{src: 'images/slide-1.jpg', title: 'Может по пельмешке?', link: {
		href: 'http://www.kungfupanda.com/',
		text: 'Перейти на официальный сайт'
	}},
	{src: 'images/slide-2.jpg', title: 'Планета 51', link: {
		href: 'http://www.youtube.com/watch?v=_4LSg8s5XF4',
		text: 'Смотреть трейлер'
	}},
	{src: 'images/slide-3.jpg', title: 'И имя ему, - Ранго!', link: {
		href: 'http://www.rangomovie.com/intl/ru/',
		text: 'Читать больше про Ранго'
	}}
]);</pre>
<p>Мы привязали плагин к нашему контейнеру, и указали три картинки для крутилки. Аргумент link не обязателен, т.е. его можно не указывать.</p>
<p>Вроде на этом можно и закончить. Вот и получился очередной небольшой урок, хотя не совсем идеальный, имхо :) Но зато первая толковая запись за последние пол года.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/f1VM2Zh1BM8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/jsimpleslide-make-small-slider-using-jquery/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/jsimpleslide-make-small-slider-using-jquery/</feedburner:origLink></item>
		<item>
		<title>Еще одни симпатичные кнопки для светлых фонов на CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/nPs-Mi91dDI/</link>
		<comments>http://sofcase.net/post/cute-buttons-on-css3-v2/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 11:10:43 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1102</guid>
		<description><![CDATA[В очередной раз выкладываю симпатичные кнопки на CSS3. Ничего особенного просто поиграл с цветами и сделал их менее выпуклыми, практически гладкими. Также цвета не делал сильно яркими, а наоборот сделал их более тусклыми, можно сказать матовыми :) Вроде получилось красиво, &#8212; забирайте и используйте.]]></description>
			<content:encoded><![CDATA[<p>В очередной раз выкладываю симпатичные кнопки на CSS3. Ничего особенного просто поиграл с цветами и сделал их менее выпуклыми, практически гладкими. Также цвета не делал сильно яркими, а наоборот сделал их более тусклыми, можно сказать матовыми :) Вроде получилось красиво, &#8212; забирайте и используйте.</p>
<p><span id="more-1102"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/buttons-white-bg-v2/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/buttons-white-bg-v2/buttons-white-bg-v2.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/nPs-Mi91dDI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/cute-buttons-on-css3-v2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/cute-buttons-on-css3-v2/</feedburner:origLink></item>
		<item>
		<title>10 небольших но полезных сервисов</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/XoVxkka9BD4/</link>
		<comments>http://sofcase.net/post/review-small-but-useful-services-for-web-developers/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 08:27:21 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Обзоры]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=839</guid>
		<description><![CDATA[После небольшого затишья, я решил порадовать вас небольшой подборкой полезных сервисов для веб-разработчиков и веб-дизайнеров. Некоторые из вас могут знать эти сервисы, а вот некоторые нет, лично я довольно таки часто пользуюсь приведенными ниже сервисами. Ну что же приступим :) ScriptSrc Хороший сервис для быстрого копирования и вставки подключаемых JavaScript библиотек, таких как jQuery, jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>После небольшого затишья, я решил порадовать вас небольшой подборкой полезных сервисов для веб-разработчиков и веб-дизайнеров. Некоторые из вас могут знать эти сервисы, а вот некоторые нет, лично я довольно таки часто пользуюсь приведенными ниже сервисами. Ну что же приступим :)<br />
<span id="more-839"></span></p>
<h3><a href="http://www.scriptsrc.net/" title="ScriptSrc.net" target="_blank">ScriptSrc</a></h3>
<p>Хороший сервис для быстрого копирования и вставки подключаемых JavaScript библиотек, таких как jQuery, jQuery UI, Mootools, Prototype и другие. Сервис не просто вставляет в ваш буфер ссылку на библиотеку, а сразу с тегом &lt;script&gt;. Все ссылки ведут на CDN ajax.googleapis.com.</p>
<h3><a href="http://0to255.com" title="0to255.com" target="_blank">0to255</a></h3>
<p>Я называю этот сервис пипеткой. Данный сервис помогает подобрать любой цвет для чего либо. Вы выбираете цвет или вводите свой (в HEX), затем можете по шагам выбирать оттенок. Этот сервис я использовал делая все свои Freebies, так как фотошоп не был рядом.</p>
<h3><a href="http://writecodeonline.com" title="WriteCodeOnline.com" target="_blank">WriteCodeOnline</a></h3>
<p>Иногда нужно срочно выполнить какой-либо отдельный сценарий. Например у вас есть сериализованный массив, и вам необходимо его разсериализовать и получить некие данные в нормальном виде. Этот сервис поможет вам сделать это даже с мобильного :)</p>
<h3><a href="http://jsperf.com" title="JsPerf.com" target="_blank">JsPerf</a></h3>
<p>Данный сервис создан для шаринга тестов по JavaScript. Если вы любите оптимизировать свой js-код то данный сервис для вас, на нем вы сможете создать свой тест и посмотреть другие. Тесты сохраняют результаты в разных браузерах и показывают их статистику.</p>
<h3><a href="http://jsfiddle.net" title="JsFiddle" target="_blank">JsFiddle</a></h3>
<p>Лучшая облачная мини-IDE для фронтенд разработки, удобно когда нужно быстро протестировать какой-нить небольшой кусок кода. Вам не надо никакие файлы, у вас есть 3 окна для HTML, Javascript и CSS, а также 4 окно, в котором показывается результат. Также можно привязать к результату какую-либо библиотеку, например jQuery либо Prototype. Код можно сохранять и даже расшаривать.</p>
<h3><a href="http://spritebox.net" title="Spritebox.net" target="_blank">Spritebox</a></h3>
<p>Удобный сервис для создания спрайтов, все что необходимо это загрузить необходимые картинки и немного настроить генерацию. Сервис не только генерирует спрайт но и также уже готовый CSS для вас.</p>
<h3><a href="http://colorschemedesigner.com" title="СolorSchemeDesigner.com" target="_blank">СolorSchemeDesigner</a></h3>
<p>У этого сервиса примерна похожая цель, что и у 0to255.com, но только этот немного удобней для дизайнеров, например для правильного подбора цветовых схем, всего сервис предоставляет 6 цветовых схем.</p>
<h3><a href="http://kuler.adobe.com/#themes/rating?time=30" target="_blank">Kuler Adobe</a></h3>
<p>Этот сервис также подойдет дизайнерам, цель у него как и предыдущего, вот только здесь все гораздо кастомизированей, и мало того вы можете уже выбрать готовые цветовые схемы или палитры, также вы можете поставить им оценку, искать цветовые палитры по разные критериям.</p>
<h3><a href="http://www.colorzilla.com/gradient-editor/" target="_blank">ColorZilla Gradient Editor</a></h3>
<p>Когда дело доходит до кроссбраузерных градиентов можно впасть в панику, от количество трешового кода, который приходится писать и портить весь свой красиво написанный CSS код. Но этот сервис избавит вас от этого грязного дела, нужно лишь задать цвета позиции и т.д., как у вас уже есть готовый код для градиента, но вот правда от грязи в CSS он все равно не избавит.</p>
<h3><a href="http://www.colourlovers.com/themeleon/twitter" target="_blank">COLOURlovers Themeleon Twitter</a></h3>
<p>Твиттер для любого блоггера уже неотъемлемая часть, и как все своё неотъемлемое нужно приводить в порядок. Данный сервис поможет вас настроить ваш твиттер, а именно внешний вид, гораздо удобнее чем стандартный и причем в лайв-режиме. Вы также можете выбрать уже готовую палитру и скин.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/XoVxkka9BD4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/review-small-but-useful-services-for-web-developers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/review-small-but-useful-services-for-web-developers/</feedburner:origLink></item>
		<item>
		<title>Меню для сайта (PSD Freebie)</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/V5X7ot_G-jc/</link>
		<comments>http://sofcase.net/post/site-menu-001-psd/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 13:05:33 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[green]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[psd]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=943</guid>
		<description><![CDATA[Мой первый PSD Freebies. Собственно ничего особенного, просто в очередной раз убивал скуку фотошопом. До этого все Freebies делал не используя фотошоп, но в этот раз меня как-то привлекло что-то нарисовать, а не сверстать. Может кому пригодится, &#8212; забирайте, я не жадный :)]]></description>
			<content:encoded><![CDATA[<p>Мой первый PSD Freebies. Собственно ничего особенного, просто в очередной раз убивал скуку фотошопом. До этого все Freebies делал не используя фотошоп, но в этот раз меня как-то привлекло что-то нарисовать, а не сверстать. Может кому пригодится, &#8212; забирайте, я не жадный :)</p>
<p><span id="more-943"></span><div class="demo-buttons">&nbsp;&nbsp; <a href="http://demo.sofcase.net/greenmenu-psd-first/green-menu-psd.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/V5X7ot_G-jc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/site-menu-001-psd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/site-menu-001-psd/</feedburner:origLink></item>
		<item>
		<title>Обложка диска используя свойства CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/Vpt_FRAa8i0/</link>
		<comments>http://sofcase.net/post/cover-using-css3-properties/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 08:10:13 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[cover]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[dvd]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=1032</guid>
		<description><![CDATA[Бывает вот нечем занять себя свободные 15 минут, и начинаешь делать лишь бы что, чтобы бы они по быстрее прошли, собственно вчера так и было. Вот только делал я в этот раз не лишь бы что, а решил сделать обложку диска на CSS3. Ничего трудного, но получилось вроде как хорошо и симпатично, кому нужно можете [...]]]></description>
			<content:encoded><![CDATA[<p>Бывает вот нечем занять себя свободные 15 минут, и начинаешь делать лишь бы что, чтобы бы они по быстрее прошли, собственно вчера так и было. Вот только делал я в этот раз не лишь бы что, а решил сделать обложку диска на CSS3. Ничего трудного, но получилось вроде как хорошо и симпатично, кому нужно можете забирать и использовать :)</p>
<p><span id="more-1032"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/cover-image-css3/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/cover-image-css3/cover-image-css3.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/Vpt_FRAa8i0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/cover-using-css3-properties/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/cover-using-css3-properties/</feedburner:origLink></item>
		<item>
		<title>Кнопки как в новом интерфейсе от Google+ используя CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/V2q-kIkAaA4/</link>
		<comments>http://sofcase.net/post/buttons-as-a-new-interface-from-googleplus-using-css3/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 08:05:59 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=989</guid>
		<description><![CDATA[В этот раз я поделюсь с вами кнопками сделанными в стиле Google+, для создания кнопок как всегда использовались свойства CSS3. Кнопки получились симпатично, легко кастомизированны, и вроде как не сильно и отличаются от оригинальных гугловских. Эти кнопки можно использовать в любых случаях, они хорошо подойдут для страниц со светлым интерфейсом, их можно использовать также и [...]]]></description>
			<content:encoded><![CDATA[<p>В этот раз я поделюсь с вами кнопками сделанными в стиле Google+, для создания кнопок как всегда использовались свойства CSS3. Кнопки получились симпатично, легко кастомизированны, и вроде как не сильно и отличаются от оригинальных гугловских.</p>
<p><span id="more-989"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/gp-buttons/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/gp-buttons/gp-buttons.zip" class="cute-button">Скачать исходники</a></div></p>
<p>Эти кнопки можно использовать в любых случаях, они хорошо подойдут для страниц со светлым интерфейсом, их можно использовать также и в целях манипуляции какими либо данными например как в GMail.</p>
<p>Теперь расскажу как их использовать в своих проектах. Для группировки кнопок нам необходимо обрамить их в один контейнер у которого класс должен быть &laquo;gp-buttons-group&raquo;, у самих кнопок должен быть класс &laquo;gp-button&raquo; (для активной &laquo;gp-button-active&raquo;), вот так:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;gp-buttons-group&quot;&gt;
	&lt;a href=&quot;#&quot; class=&quot;gp-button&quot;&gt;Главная&lt;/a&gt;
	&lt;a href=&quot;#&quot; class=&quot;gp-button&quot;&gt;Новости&lt;/a&gt;
	&lt;a href=&quot;#&quot; class=&quot;gp-button&quot;&gt;Подписки&lt;/a&gt;
	&lt;a href=&quot;#&quot; class=&quot;gp-button&quot;&gt;Поиск&lt;/a&gt;
&lt;/div&gt;</pre>
<p>Для кнопок которые не должны входит в группы, просто даете класс &laquo;gp-button-single&raquo; и не обрамляете в контейнер (класс для активной кнопки &laquo;gp-button-single-active&raquo;):</p>
<pre class="brush: xml; title: ; notranslate">&lt;a href=&quot;#&quot; class=&quot;gp-button-single&quot;&gt;Кнопка&lt;/a&gt;</pre>
<p>Ну и конечно же кнопки только с иконками, их можно только также группировать и не группировать. Для того чтобы задать кнопке тип &laquo;image-button&raquo; нужно присвоить класс &laquo;gp-button-icon&raquo; и собственно класс с иконкой, например для кнопки с иконкой твиттера код будет таким:</p>
<pre class="brush: xml; title: ; notranslate">&lt;a href=&quot;#&quot; class=&quot;gp-button gp-button-icon gp-icon-twitter&quot;&gt;&amp;nbsp;&lt;/a&gt;</pre>
<p>И не забывайте в кнопках с иконками вставлять неразрывный пробел. Кнопки с иконками группируются также как и обычные, через контейнер с классом &laquo;gp-buttons-group&raquo;. Кнопки с иконками и без можно совмещать в группировках. Ну вот вроде и все, надеюсь вам понравилось.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/V2q-kIkAaA4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/buttons-as-a-new-interface-from-googleplus-using-css3/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/buttons-as-a-new-interface-from-googleplus-using-css3/</feedburner:origLink></item>
		<item>
		<title>Красивые уведомления на сайте используя CSS3 и jQuery</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/moE5y7TH33E/</link>
		<comments>http://sofcase.net/post/beautiful-notifications-using-css3-and-jquery/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 19:18:48 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=834</guid>
		<description><![CDATA[Всем привет, что-то меня в последнее время все больше и больше тянет на UI разработку :) Сегодня поговорим о том как создать красивые уведомления на сайте используя CSS3, а также как их привести в действие используя jQuery. Сами уведомления имеют небольшую кастомизацию, например можно показывать или скрывать превью-картинку, также можно ставить таймер на автоматическое закрытие, [...]]]></description>
			<content:encoded><![CDATA[<p>Всем привет, что-то меня в последнее время все больше и больше тянет на UI разработку :) Сегодня поговорим о том как создать красивые уведомления на сайте используя CSS3, а также как их привести в действие используя jQuery. Сами уведомления имеют небольшую кастомизацию, например можно показывать или скрывать превью-картинку, также можно ставить таймер на автоматическое закрытие, и оба функционала работают на каждое уведомление в отдельности.</p>
<p><span id="more-834"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jnotifier/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jnotifier/jnotifier.zip" class="cute-button">Скачать исходники</a></div></p>
<p>И так, в первую очередь нам надо будет подготовить вертску и стили, в стилях мы будем использовать свойства из CSS3, а именно такие как градиент, border-radius, box-shadow, text-shadow, и opacity.</p>
<h3>Шаг первый. Верстка</h3>
<p>Нам нужно подготовить верстку для контейнера уведомления, чтобы на будущее знать как именно её нам генерировать в яваскрипте для вывода. Также нам нужен контейнер, в котором будут выводиться уведомления. Сам контейнер у нас будет:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div id=&quot;notifier-box&quot;&gt;&lt;/div&gt;</pre>
<p>Верстка контейнера уведомления будет следующая:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;message-wrap&quot;&gt;
	&lt;div class=&quot;message-box&quot;&gt;
		&lt;a class=&quot;message-close&quot; href=&quot;#&quot; title=&quot;Закрыть уведомление&quot;&gt;&lt;/a&gt;
		&lt;div class=&quot;message-header&quot;&gt;Тайтл уведомления&lt;/div&gt;
		&lt;div class=&quot;message-body&quot;&gt;
			&lt;div class=&quot;thumb&quot;&gt;&lt;img src=&quot;image.png&quot;&gt;&lt;/div&gt;
			&lt;span&gt;Тут будет текст уведомления&lt;/span&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Так, с версткой мы определились, теперь пора застайлить бы все это, как можно красивее конечно же, ведь мы же любим когда все красиво :)</p>
<h3>Шаг второй. Стилизация</h3>
<p>И так контейнер каждого уведомления у нас будет с темным фоном, и даже градиентом, будет отбрасывать небольшую тень, также будут закругленные углы, а текст будет иметь строгую тень, откидывающаяся на один пиксель вниз по вертикали. Заголовок уведомления будет зеленного цвета, текст уведомления серего цвета. Собственно набрасываем все это в CSS и получаем вот такой код: </p>
<pre class="brush: css; title: ; notranslate">#notifier-box {
	position: fixed;
	bottom: 0;
	right: 10px;
}

div.message-wrap {
	background: #111;

	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#111111');
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #222), color-stop(1, #111));
	background: -moz-linear-gradient(top, #222, #111);
	background: -o-linear-gradient(#222, #111);

	border: 1px solid #000;
	margin: 0 0 10px 0;
	width: 300px;

	color: #888; font-size: 11px; font-family: Tahoma;

	-webkit-box-shadow: 0 0 7px #969490;
	-moz-box-shadow: 0 0 7px #969490;
	-o-box-shadow: 0 0 7px #969490;
	box-shadow: 0 0 7px #969490;

	-webkit-text-shadow: 0 1px 0 #000;
	-moz-text-shadow: 0 1px 0 #000;
	-o-text-shadow: 0 1px 0 #000;
	text-shadow: 0 1px 0 #000;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}

div.message-box {
	border-top: 1px solid #666;
	padding: 10px;

	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}

div.message-box div.message-header {
	color: #61cd07; font-weight: bold; font-size: 11px;
	margin: 0 0 10px 0;
}

div.message-box a.message-close {
	background: #000 url('../images/message-close.png') center no-repeat;
	width: 15px; height: 15px;
	display: block; float: right;

	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;

	-webkit-opacity: .2;
	-moz-opacity: .2;
	-o-opacity: .2;
	opacity: .2;
}

div.message-box:hover a.message-close {
	-webkit-opacity: 1;
	-moz-opacity: 1;
	-o-opacity: 1;
	opacity: 1;
}

div.message-box div.message-body {
	overflow: hidden;
}

div.message-box div.message-body div.thumb {
	width: 48px;
	height: 48px;
	margin: 0 10px 0 0;
	float: left;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}

div.message-box div.message-body div.thumb img {
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}</pre>
<p>Теперь открываем браузер и радуемся результату, но это еще не все, осталось оживить все это дело.</p>
<h3>Шаг третий. Оживление на jQuery</h3>
<p>И так, со стороны jQuery нам нужно сделать плагин для простого способа создавать уведомления и манипулирования ими. Плагин будет находить контейнер стека уведомлений, если не найдет тогда создаст, затем будем собирать верстку контейнера уведомления с переданными данными. Получившийся результат будет вставляться в стек уведомлений.</p>
<pre class="brush: jscript; title: ; notranslate">(function($) {
	$.jnotify = function(title, text, pictureSrc, options) {
		var stackContainer, messageWrap, messageBox, messageBody, messageTextBox, closeButton, messagePicture, image;

		options = $.extend({
			lifeTime: 0,
			click: undefined
		}, options);

		// находим контейнер с сообщениями, если его нет, тогда создаём
		stackContainer = $('#notifier-box');
		if (!stackContainer.length) {
			stackContainer = $('&lt;div&gt;', {id: 'notifier-box'}).prependTo(document.body);
		}

		// создаём элементы вертски контейнера сообщения
		messageWrap = $('&lt;div&gt;', {
			className: 'message-wrap',
			css: {
				display: 'none'
			}
		});

		messageBox = $('&lt;div&gt;', {
			className: 'message-box'
		});

		messageHeader = $('&lt;div&gt;', {
			className: 'message-header',
			text: title
		});

		messageBody = $('&lt;div&gt;', {
			className: 'message-body'
		});

		messageTextBox = $('&lt;span&gt;', {
			text: text
		});

		closeButton = $('&lt;a&gt;', {
			className: 'message-close',
			href: '#',
			title: 'Закрыть уведомление',
			click: function() {
				$(this).parent().parent().fadeOut(300, function() {
					$(this).remove();
				});
			}
		});

		// если указан путь к картинке, тогда создадим контейнер и для неё :)
		if (pictureSrc != undefined) {
			messagePicture = $('&lt;div&gt;', {
				className: 'thumb'
			});
			image = $('&lt;img&gt;', {
				src: pictureSrc
			});
		}

		// теперь расположим все на свои места
		messageWrap.appendTo(stackContainer).fadeIn();
		messageBox.appendTo(messageWrap);
		closeButton.appendTo(messageBox);
		messageHeader.appendTo(messageBox);
		messageBody.appendTo(messageBox);

		if (messagePicture != undefined) {
			messagePicture.appendTo(messageBody);
			image.appendTo(messagePicture);
		}
		messageTextBox.appendTo(messageBody);

		// если время жизни уведомления больше 0, ставим таймер
		if (options.lifeTime &gt; 0) {
			setTimeout(function() {
				$(messageWrap).fadeOut(300, function() {
					$(this).remove();
				});
			}, options.lifeTime);
		}

		// если установлен колбек
		if (options.click != undefined) {
			messageWrap.click(function(e) {
				if (!jQuery(e.target).is('.message-close')) {
					options.click.call(this);
				}
			});
		}

		return this;
	}
})(jQuery);</pre>
<p>Ну вот теперь у нас есть готовый код, для добавления уведомлений на вашем сайте. Как видите по коду я добавил еще возможность привязать колбек на клик по уведомлению. Данный колбек может быть пригодным, например если необходимо открыть новую вкладку в браузере или редиректить, когда пользователь кликает на уведомление.</p>
<h3>Шаг четвертый. Подготовка к работе</h3>
<p>Теперь у нас есть всё для полной работоспособности уведомлений. Осталось накинуть пробный исходник HTML кода, чтобы для новичков в этом деле было понятно как запускать такое чудо. Собственно вот и сам код, с пояснительными комментариями:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta charset=&quot;utf-8&quot; /&gt;
	&lt;title&gt;Notification messages&lt;/title&gt;

	&lt;link href=&quot;css/base.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;

	&lt;!-- Подключаем стили уведомлений --&gt;
	&lt;link href=&quot;css/jnotifier.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;

	&lt;!-- Подключаем jQuery --&gt;
	&lt;script src=&quot;js/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

	&lt;!-- Подключаем наш плагин --&gt;
	&lt;script src=&quot;js/jnotifier.jquery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

	&lt;script type=&quot;text/javascript&quot;&gt;
	function showMesssage() {
		// тут мы вызываем уведомление, без таймера и без колбека
		$.jnotify(
			'Сообщение от Василия Пупкина',
			'Это просто обычный текст для проверки работы jQuery-плагина сообщений уведомлений. Кстати, знаете ли вы, что в Европе признано считать людей с ...',
			'image.png'
		);
	}
	&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;!-- При клике показываем уведомление --&gt;
	&lt;a href=&quot;javascript:showMesssage();&quot;&gt;Показать уведомление&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Собственно, на этом можно и закончить, надеюсь урок вам понравился. Подписывайтесь на RSS, ибо дальше статьи и уроки будут еще вкуснее и полезней :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/moE5y7TH33E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/beautiful-notifications-using-css3-and-jquery/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/beautiful-notifications-using-css3-and-jquery/</feedburner:origLink></item>
		<item>
		<title>Кнопки на CSS3 для светлых фонов</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/JeIpQiPNmhI/</link>
		<comments>http://sofcase.net/post/buttons-for-white-background-with-css3/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 19:24:27 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[gradients]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=818</guid>
		<description><![CDATA[В этот раз я хочу порадовать вас красивыми кнопками для светлых фонов сделанных на CSS3. С виду так типичные кнопки, которых уже вроде как море в интернете, но лишь некоторые из них сделаны полностью на CSS3, не используя картинки и дополнительные теги. Естественно как всегда ослик остаётся в стороне, потому как я отношусь к веб-разработчикам [...]]]></description>
			<content:encoded><![CDATA[<p>В этот раз я хочу порадовать вас красивыми кнопками для светлых фонов сделанных на CSS3. С виду так типичные кнопки, которых уже вроде как море в интернете, но лишь некоторые из них сделаны полностью на CSS3, не используя картинки и дополнительные теги. Естественно как всегда ослик остаётся в стороне, потому как я отношусь к веб-разработчикам не поддерживающих этот недобраузер, но градиент для него все же сделал:)</p>
<p><span id="more-818"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/white-bgs-buttons/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/white-bgs-buttons/white-bgs-buttons.zip" class="cute-button">Скачать исходники</a></div></p>
<p>Как видно на превью, я сделал только шесть цветов, остальные впилить не так уже и сложно, нужно лишь один стиль добавить. Для использования кнопок необходимо подключить один лишь файл buttons.css:</p>
<pre class="brush: xml; title: ; notranslate">&lt;link href=&quot;buttons.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;</pre>
<p>И конечно же вставить саму кнопку в нужное вам место в HTML исходник:</p>
<pre class="brush: xml; title: ; notranslate">&lt;input value=&quot;Press me please!&quot; class=&quot;custom-button&quot; type=&quot;submit&quot; /&gt;</pre>
<p>Для использования другого цвета, например фиолетового, просто добавляем кнопке соответствующий класс:</p>
<pre class="brush: xml; title: ; notranslate">&lt;input value=&quot;Фиолетовый&quot; class=&quot;custom-button custom-button-purple&quot; type=&quot;submit&quot; /&gt;</pre>
<p>Собственно в стилях кнопок из стандарта CSS3 используется градиенты, text-shadow, box-shadow, border-radius и opacity свойства, из-за этого код немного распух, а именно из-за префиксов, которые необходимо использовать для понимания различных браузеров.</p>
<p>И на этом все. Небольшой такой очередной фрибиес получился, который надеюсь кому-нить пригодиться :) В следующий раз ждите либо урок о кастомных контролов для HTML5 Video или же урок по созданию плагина модальных окон на jQuery, а может смогу порадовать еще каким-либо фрибиeсом.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/JeIpQiPNmhI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/buttons-for-white-background-with-css3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/buttons-for-white-background-with-css3/</feedburner:origLink></item>
		<item>
		<title>Красивые текстовые поля на CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/2ffvTK5Uf8o/</link>
		<comments>http://sofcase.net/post/beautiful-inputs-using-css3/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 19:43:35 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[beautiful]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[input]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=794</guid>
		<description><![CDATA[Сделал стилизацию текстового поля в трех состояниях и фокусе. Как видите на картинке текстовое поле голубоватого цвета это обычное текстовое поле, слегка покрасневшее это некорректно заполненное поле и слегка зеленого цвета, это корректно заполненное поле. Получилось вроде симпатично, решил выложить в блог.]]></description>
			<content:encoded><![CDATA[<p>Сделал стилизацию текстового поля в трех состояниях и фокусе. Как видите на картинке текстовое поле голубоватого цвета это обычное текстовое поле, слегка покрасневшее это некорректно заполненное поле и слегка зеленого цвета, это корректно заполненное поле. Получилось вроде симпатично, решил выложить в блог. </p>
<p><span id="more-794"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/beautiful-inputs-using-css3/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/beautiful-inputs-using-css3/beautiful-inputs-using-css3.zip" class="cute-button">Скачать исходники</a></div></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/2ffvTK5Uf8o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/beautiful-inputs-using-css3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/beautiful-inputs-using-css3/</feedburner:origLink></item>
		<item>
		<title>HTML5 Notifications API</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/BIDroPGlimk/</link>
		<comments>http://sofcase.net/post/html5-notifications-api/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 13:05:47 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[notifications]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=769</guid>
		<description><![CDATA[Сегодня хочу попоговорить о Notifications API в HTML5, и рассказать как их использовать :) Для тех, кто не знает что такое Notifications API, это API (К.О. с нами), вошедшее в стандарт HTML5 (но еще не утвержденное), позволяющее показывать небольшие уведомления на экране пользователя, не зависимо какая вкладка браузера в данный момент открыта. Шаг первый: Проверка [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня хочу попоговорить о Notifications API в HTML5, и рассказать как их использовать :) Для тех, кто не знает что такое Notifications API, это API (К.О. с нами), вошедшее в стандарт HTML5 (но еще не утвержденное), позволяющее показывать небольшие уведомления на экране пользователя, не зависимо какая вкладка браузера в данный момент открыта.</p>
<p><span id="more-769"></span></p>
<h3>Шаг первый: Проверка поддержки Notifications API в браузере</h3>
<p>На сегоднешний день Notifications API поддерживается только в Google Chrome, поэтому перед использованием, необходимо проверить поддержку браузером, чтобы не возникли js-ошибки.</p>
<pre class="brush: jscript; title: ; notranslate">if (typeof window.webkitNotifications == 'undefined') {
	console.log('Notifications API не поддерживается вашим браузером.');
}</pre>
<h3>Шаг второй: запрос разрешения пользователя</h3>
<p>Перед тем как отображать и использовать сообщения, необходимо запросить у пользоватея разрешение, на использование Notifications API, на вашем домене. Сделать это можно вызвав метод <strong>requestPermission</strong>:</p>
<pre class="brush: jscript; title: ; notranslate">webkitNotifications.requestPermission();</pre>
<p>Но каждый раз запрашивать права, нет необходимости, достаточно один раз спросить, а затем просто проверять, и в случаи если прав нет, запрашивать.</p>
<pre class="brush: jscript; title: ; notranslate">if (webkitNotifications.checkPermission() != 0) {
	webkitNotifications.requestPermission();
}</pre>
<p>Есть три состояния прав:</p>
<ul>
<li>PERMISSION_ALLOWED [0]: Если пользователь разрешил использование нотификейшенов с текущего домена.</li>
<li>PERMISSION_NOT_ALLOWED [1]: Если пользователь не предпринимал никаких действий.</li>
<li>PERMISSION_DENIED [2]: Если пользователь запретил использование нотификейшенов с текущего домена.</li>
</ul>
<h3>Шаг третий. Создание обьекта сообщений</h3>
<p>Ну и наконец перейдем к самому показу сообщения. Они деляться на два типа, первый тип это обычное текстовое сообщение, с иконкой, заголовком и самим сообщением, и второй тип сообщение с HTML содержимим.<br />
Начнем с первого типа, для создания обьекта сообщения необходимо использовать метод <strong>createNotification</strong> и передать три параметра, путь к картинке, заголовок и само содержимое.</p>
<pre class="brush: jscript; title: ; notranslate">webkitNotifications.createNotification('icon.png', 'Заголовок', 'Проверка Notifications API');</pre>
<p>Для создания сообщения второго типа, необходимо использовать метод <strong>createHTMLNotification</strong>, и передать ему только ссылку.</p>
<pre class="brush: jscript; title: ; notranslate">webkitNotifications.createHTMLNotification('http://sofcase.net/').show();</pre>
<p>Только незабудьте присвоить обьекты переменным, иначе не сможете контролировать их :)</p>
<h3>Шаг четвертый. События и обработчики</h3>
<p>Теперь у нас есть обьект сообщений, но пользы от него мало если не показывать пользователю, давайте покажем. Для этого есть метод <strong>show</strong>.</p>
<pre class="brush: jscript; title: ; notranslate">notification.show();</pre>
<p>И вот именно после обработки этого куска кода мы наконец увидим наше сообщение. Но одним методом <strong>show</strong> мы не ограничеваемся, также у нас есть метод <strong>close</strong>, который принудительно закрывает сообщение, и есть 3 обработчика события: <strong>onerror</strong>, <strong>ondisplay</strong>, <strong>onclose</strong>.</p>
<p>Собственно больше сказать нечего, функционал у данного API не широк, но по сути большего и не надо. Более подробно вы можете почитать на <a href="http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification">странице спецификации</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/BIDroPGlimk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/html5-notifications-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/html5-notifications-api/</feedburner:origLink></item>
		<item>
		<title>Я не забыл …</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/SvAC0Rsl4vc/</link>
		<comments>http://sofcase.net/post/i-dont-forget/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 20:00:56 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=761</guid>
		<description><![CDATA[В последнее время некоторые люди начали спрашивать, где я пропал, забыл ли я про свой бложек. и т.п. Хочу сказать, что я не забыл и нигде не пропал. В данный период жизни у меня много личных проблем, расстался с любимым человеком, с которым я был все последние 4 года, на работе большая нагрузка, да и [...]]]></description>
			<content:encoded><![CDATA[<p>В последнее время некоторые люди начали спрашивать, где я пропал, забыл ли я про свой бложек. и т.п. Хочу сказать, что я не забыл и нигде не пропал. В данный период жизни у меня много личных проблем, расстался с любимым человеком, с которым я был все последние 4 года, на работе большая нагрузка, да и от интернета хочется отдохнуть :) От того блог мой немного и затих, но сейчас понемногу все налаживается, и в связи с этим скоро, хочу и спешу обрадовать, ждите пачку новых статей и уроков. В частности хочу написать о масках в CSS и подробнее о свойстве transition в CSS. Также расскажу небольшой урок как создать плагин модальных окон на jQuery. Так что дорогие читатели, подписывайтесь на RSS канал либо следите за мной в Твиттере, если вы еще этого не сделали, и в скором времени вам будет что почитать :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/SvAC0Rsl4vc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/i-dont-forget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/i-dont-forget/</feedburner:origLink></item>
		<item>
		<title>Whyyyyyyyyyyyyyy!?!?</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/4yxXaVET5kQ/</link>
		<comments>http://sofcase.net/post/whyyyyyyyyyyyyyy/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 07:36:17 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[situation]]></category>
		<category><![CDATA[stupid]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[why]]></category>
		<category><![CDATA[whyyyyyyyyyyyyyy]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=741</guid>
		<description><![CDATA[Бывала ли когда нибудь у вас ситуация, в которой вам просто хочется крикнуть &#171;Whyyyyyyyyyyy!?&#187; либо уже на родном русском языке &#171;Почемуууууууу!?&#187;, уверен бывала :) Недавно Skillup решил забабахать простую страничку с одной кнопкой, при нажатии на которую, кто-то там за экраном орет &#171;Whyyyyyyyyyyy!?&#187; вместо вас. Так что в тупых ситуациях вы всегда можете воспользоваться этой [...]]]></description>
			<content:encoded><![CDATA[<p>Бывала ли когда нибудь у вас ситуация, в которой вам просто хочется крикнуть &laquo;Whyyyyyyyyyyy!?&raquo; либо уже на родном русском языке &laquo;Почемуууууууу!?&raquo;, уверен бывала :) Недавно <a href="http://sklp.net">Skillup</a> решил забабахать <a href="http://whyyyyyyyyyyyyyy.com/">простую страничку</a> с одной кнопкой, при нажатии на которую, кто-то там за экраном орет &laquo;Whyyyyyyyyyyy!?&raquo; вместо вас. Так что в тупых ситуациях вы всегда можете воспользоваться <a href="http://whyyyyyyyyyyyyyy.com/">этой страницей</a>. Естественно идея была навеяна <a href="http://nooooooooooooooo.com">nooooooooooooooo.com</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/4yxXaVET5kQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/whyyyyyyyyyyyyyy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/whyyyyyyyyyyyyyy/</feedburner:origLink></item>
		<item>
		<title>Немного об HTML5</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/TtnOF1IqMdk/</link>
		<comments>http://sofcase.net/post/some-about-html5/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 19:57:20 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[doctype]]></category>
		<category><![CDATA[meta]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=669</guid>
		<description><![CDATA[Начинаем говорить об HTML5. В данной статье, я расскажу вам вкратце о нем, частично о его возможностях, а также небольших и не сильно важных вкусностей. Эта запись является началом повествований о HTML5, дальше будет вкуснее. Добрый doctype Вы можете, не задумываясь, сходу написать doctype для XHTML1.0 либо HTML4? Если можете, тогда у вас отличная память, [...]]]></description>
			<content:encoded><![CDATA[<p>Начинаем говорить об HTML5. В данной статье, я расскажу вам вкратце о нем, частично о его возможностях, а также небольших и не сильно важных вкусностей. Эта запись является началом повествований о HTML5, дальше будет вкуснее.</p>
<p><span id="more-669"></span></p>
<h3>Добрый doctype</h3>
<p>Вы можете, не задумываясь, сходу написать doctype для XHTML1.0 либо HTML4? Если можете, тогда у вас отличная память, если нет, тогда видимо вы строку доктайпа всегда копировали! HTML5 заботиться о нас и наших нервах, поэтому было решено сделать доктайп очень коротким и запоминающемся:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!DOCTYPE html&gt;</pre>
<p>Вот он революционный доктайп. Теперь не придется вспоминать его или копировать, теперь вы будете его писать как обычный тег.</p>
<h3>Экономим байты</h3>
<p>Про короткий doctype мы уже поговорили, но в HTML5 решили укоротить не только его, теперь для тегов link и script атрибут type указывать необязательно. Система сама определит тип подключаемого содержимого.</p>
<pre class="brush: xml; title: ; notranslate">&lt;link href=&quot;style.css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;jquery.js&quot;&gt;&lt;/script&gt;</pre>
<p>Но на тегах link и script не останавливаемся, так же для объявление кодировки страницы тег meta тоже стал в разы короче. Раньше необходимо было указывать целых два атрибута content и http-equiv :)</p>
<pre class="brush: xml; title: ; notranslate">&lt;meta charset=&quot;utf-8&quot; /&gt;</pre>
<h3>Новые элементы управления и их атрибуты</h3>
<p>Теперь поговорим про элементы управления. Среди них появились новые элементы, но помимо этого и новые атрибуты. Вспомните, как приходилось писать на JS плагины либо использовать сторонние, для создания нестандартных элементов управления, например слайдер, он же Range в HTML5. Но давайте сначала поговорим о атрибутах:</p>
<ul>
<li><strong>placeholder</strong> &#8212; добавляет в текстовое поле, текст заглушку, например как часто делают в поле для ввода текста поиска.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;text&quot; name=&quot;search_words&quot; placeholder=&quot;Search...&quot; /&gt;</pre>
</li>
<li><strong>autofocus</strong> &#8212; устанавливает фокус на элемент после загрузки страницы, пользователь сразу может вводить данные не используя лишние движения мышью.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;text&quot; name=&quot;search_words&quot; autofocus /&gt;</pre>
</li>
<li><strong>required</strong> &#8212; делает элемент обязательным полем, используется для браузерского валидатора, также же можно проверять этот атрибут в свои плагинах-валидаторах.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;text&quot; name=&quot;search_words&quot; required /&gt;</pre>
</li>
<li><strong>pattern</strong> &#8212; с помощью этого атрибута можно указывать шаблон для ввода данных, удобно для полей ввода мыла, даты и т.д.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;text&quot; name=&quot;search_words&quot; pattern=&quot;.&quot; /&gt;</pre>
</li>
</ul>
<p>Ну что же, а теперь можно поговорить и про новые элементы управления. Некоторые из них требуют свои атрибуты привязанные к ним например для range необходимы атрибуты min и max.</p>
<ul>
<li><strong>search</strong> &#8212; обычное текстовое поле, только с небольшой кнопкой отмены (крестик) в правой части элемента, которая сбрасывает текст.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;search&quot; /&gt;</pre>
</li>
<li><strong>range</strong> &#8212; вот он, слайдер, можно использовать для выбора значения в некоторой величине, например от 50 до 290 с шагом 5. Свои атрибуты: min, max, step.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;range&quot;  min=&quot;50&quot; max=&quot;290&quot; step=&quot;5&quot; /&gt;</pre>
</li>
<li><strong>number</strong> &#8212; этот элемент управления аналогичен слайдеру(range), вот только внешний вид у него другой, обычное текстовое поле с стрелками шага. Свои атрибуты: min, max, step.
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;number&quot; min=&quot;50&quot; max=&quot;290&quot; step=&quot;5&quot; /&gt;</pre>
</li>
<li><strong>date</strong> &#8212; позволяет пользователю выбрать дату
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;date&quot; /&gt;</pre>
</li>
<li><strong>month</strong> &#8212; позволяет пользователю выбрать месяц (формат YYYY-MM)
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;month&quot; /&gt;</pre>
</li>
<li><strong>week</strong> &#8212; позволяет пользователю выбрать номер недели года (формат YYYY-W[week])
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;week&quot; /&gt;</pre>
</li>
<li><strong>time</strong> &#8212; тут и так все понятно, &#8212; выбор времени
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;time&quot; /&gt;</pre>
</li>
</ul>
<p>На этом про элементы управления мы остановимся, есть еще несколько (email, url, tel и т.д.). Многим из этих элементов управления, браузерам еще стоит улучшать их внешний вид или подход к юзабилити (например для date можно было бы прикрутить календарик и включать его только если у поля есть аттрибут calendar).</p>
<h3>Еще пару слов</h3>
<p>Помимо выше перечисленного, в HTML5 присутствует еще много новшеств, о которых мы поговорим немного позже, в частности о video, audio, canvas (2d/3d работа с графикой) и т.д. Хочу сказать, что HTML5 весьма удивителен и красив, о нем еще много чего не сказано, чего стоило сказать.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/TtnOF1IqMdk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/some-about-html5/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/some-about-html5/</feedburner:origLink></item>
		<item>
		<title>Progressbar используя CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/n86IMoBcMT4/</link>
		<comments>http://sofcase.net/post/progressbar-using-css3/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 09:48:27 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[blue]]></category>
		<category><![CDATA[dark]]></category>
		<category><![CDATA[progressbar]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=689</guid>
		<description><![CDATA[Сегодня хочу поделиться небольшим прогресс баром сделанным используя CSS3. Выполнен в синем цвете, отлично смотрится на темных фонах, также подходит к кнопкам, которые я выкладывал ранее. Посмотреть можно здесь, а скачать здесь. Эта запись является открытием новой категории &#171;Бесплатности&#187; (или Freebies) в моем блоге, в ней я буду делиться некоторыми уже готовыми решениями на HTML5, [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня хочу поделиться небольшим прогресс баром сделанным используя CSS3. Выполнен в синем цвете, отлично смотрится на темных фонах, также подходит к кнопкам, которые я выкладывал ранее. Посмотреть можно <a target="_blank" href="http://demo.sofcase.net/ui-progressbar/">здесь</a>, а скачать <a href="http://demo.sofcase.net/ui-progressbar/ui-progressbar.zip">здесь</a>. Эта запись является открытием новой категории &laquo;Бесплатности&raquo; (или Freebies) в моем блоге, в ней я буду делиться некоторыми уже готовыми решениями на HTML5, CSS3 и jQuery.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/n86IMoBcMT4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/progressbar-using-css3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/progressbar-using-css3/</feedburner:origLink></item>
		<item>
		<title>HTML5, не меньше, не больше…</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/LhmF_Dbpcq0/</link>
		<comments>http://sofcase.net/post/html5-no-less-no-more/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 19:32:44 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[cheatsheet]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[start]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=655</guid>
		<description><![CDATA[HTML5! Уже довольно много нашумел, и весьма отлично себя показал. Уже есть много статей о нем на зарубежный сайтах, но очень мало в рунете, и я хочу внести свой вклад в развитие HTML5 в Украине, России, и в других странах СНГ :) Поэтому теперь я буду стараться как можно чаше писать статьи и о HTML5. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>HTML5!</strong> Уже довольно много нашумел, и весьма отлично себя показал. Уже есть много статей о нем на зарубежный сайтах, но очень мало в рунете, и я хочу внести свой вклад в развитие HTML5 в Украине, России, и в других странах СНГ :) Поэтому теперь я буду стараться как можно чаше писать статьи и о HTML5. И с первой записью в категории HTML5, хочу поделиться шпаргалкой по HTML5 тегам, в <a href="http://sofcase.net/wp-content/uploads/2010/09/HTML5CheatSheet.jpg" target="_blank">темном</a> и <a href="http://sofcase.net/wp-content/uploads/2010/09/HTML5CheatSheetWhite.jpg" target="_blank">белом</a> варианте.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/LhmF_Dbpcq0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/html5-no-less-no-more/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/html5-no-less-no-more/</feedburner:origLink></item>
		<item>
		<title>Делаем красивый эффект фона на jQuery</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/puSZact0JMY/</link>
		<comments>http://sofcase.net/post/make-beautiful-background-effect-on-jquery/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 18:56:44 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[bubbles]]></category>
		<category><![CDATA[effect]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=465</guid>
		<description><![CDATA[Недавно на просторах интернета, а именно на просторах стоков от Envato, я наткнулся на интересный эффект с фоном. Посмотреть живое демо можно пройдя по этой ссылке. Сегодня же я хочу написать не большой урок, как добитться такого эффекта, урок нацелен исключительно на новичков, так что умельци могу проходить мимо. Шаг первый. Сырье И так, давайте [...]]]></description>
			<content:encoded><![CDATA[<p>Недавно на просторах интернета, а именно на просторах стоков от Envato, я наткнулся на интересный эффект с фоном. Посмотреть живое демо можно пройдя по <a href="http://novothemes.com/demo/ucpage/" target="_blank">этой ссылке</a>. Сегодня же я хочу написать не большой урок, как добитться такого эффекта, урок нацелен исключительно на новичков, так что умельци могу проходить мимо.</p>
<p><span id="more-465"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jquery-bg-effect/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jquery-bg-effect/jquery-bg-effect.zip" class="cute-button">Скачать исходники</a></div></p>
<h3>Шаг первый. Сырье</h3>
<p>И так, давайте для начала подготовим все необходимое, у нас должен быть jQuery(либо подключаем с google api, что собственно и рекомендую всегда делать), а также две картинки для эффекта с фоном (<a href="http://sofcase.net/wp-content/uploads/2010/09/lowerBokeh.png" target="_blank">первая</a> и <a href="http://sofcase.net/wp-content/uploads/2010/09/upperBokeh.png">вторая</a>), обе картинки я взял из ссылки, о которой писал в начале статьи.</p>
<h3>Шаг второй. HTML и СSS</h3>
<p>Теперь нам необходимо сверстать очень простую заготовку и написать для неё парочку стилей. Начнем с HTML, давайте в нем сразу подключим файл с CSS стилями(base.css):</p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
&lt;head&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot; /&gt;
	&lt;title&gt;jQuery Background Effect&lt;/title&gt;
	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;base.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div id=&quot;wrap&quot;&gt;
		&lt;div id=&quot;effect_box&quot;&gt;
			&lt;div id=&quot;effect_box_inner&quot;&gt;&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>В след за HTML страницей, описываем, приведенные ниже в коде, стили в файле base.css:</p>
<pre class="brush: css; title: ; notranslate">body { padding: 0; margin: 0; font-size: 13px; font-family: Tahoma; }
#wrap { width: 100%; margin: 200px auto; }
#effect_box { background: #369 url('lowerBokeh.png') 0px 0px repeat; height: 300px; }
#effect_box_inner { background: url('upperBokeh.png') 0px 0px repeat; height: 100%; }</pre>
<p>Думаю здесь понятно, что у нас получается двойной фон (так как обе картинки с альфа каналом), за счет вложенного контейнера <strong>effect_box_inner</strong>.<br />
Теперь у нас есть готовые стили и сама страница, но пока наш контейнер(#effect_box), на котором должен быть эффект, статический. Давайте перейдем к активации эффекта.</p>
<h3>Шаг третий. Оживление</h3>
<p>Сначала подключаем jQuery c Google API, и описываем код, который придает нашему контейнеру красивой эффект фона. У главного контейнера мы будем перемещать фон по вертикале, для внутреннего по горизонтали, в итоге получается небольшой красивый эффект.</p>
<pre class="brush: xml; title: ; notranslate">&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document.body).ready(function()
{
	var current_x = 0;
	var current_y = 0;

	setInterval(function()
	{
		$('#effect_box').animate({'background-position': '0 ' + --current_y + 'px'}, 30);
		$('#effect_box_inner').animate({'background-position': --current_x + 'px 0'}, 30);
	}, 60);
});
&lt;/script&gt;</pre>
<p>Получившийся эффект отлично работает в Google Chrome, Safari, Opera и в IE, а вот FireFox решил как всегда жутко тормозить. На этом думаю все, получился такой вот микро урок, и надеюсь материал кому-либо был интересен и познавателен. Естественно оставшиеся вопросы можно задать в комментариях :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/puSZact0JMY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-beautiful-background-effect-on-jquery/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-beautiful-background-effect-on-jquery/</feedburner:origLink></item>
		<item>
		<title>Делаем плагин на WordPress для Envato Marketplace</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/rbbuEJDzLj8/</link>
		<comments>http://sofcase.net/post/make-wp-plugin-for-display-envato-account-stats/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 20:14:58 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[envato]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=568</guid>
		<description><![CDATA[Недавно я писал об моём скромном плагине, который отображает в WordPress Dashboard информацию о вашем балансе аккаунта и транзакцмй на стоках от Envato. Плагин был залит на этот же сток, но увы он не оправдал себя (всего одна продажа), в связи с этим я хочу рассказать вам, как создать простенький плагин под wordpress на примере [...]]]></description>
			<content:encoded><![CDATA[<p>Недавно я писал об моём скромном плагине, который отображает в WordPress Dashboard информацию о вашем балансе аккаунта и транзакцмй на стоках от Envato. Плагин был залит на этот же сток, но увы он не оправдал себя (всего одна продажа), в связи с этим я хочу рассказать вам, как создать простенький плагин под wordpress на примере моего плагина EnvatoStat.</p>
<p><span id="more-568"></span></p>
<p>Перед тем как начать, нам необходимо посмотреть какое API предоставляет Envato Marketplace, найти его можно по этой <a href="http://marketplace.envato.com/api/documentation" target="_blank">ссылке</a>. API возвращает данные в JSON формате, поэтому нам будет необходима функция json_decode (поддерживается начиная с PHP 5.2).</p>
<h3>Шаг первый. Создаём заготовку</h3>
<p>Прежде чем мы начнем писать код для парсинга данных из API и отображения их в плагине, давайте создадим заготовку для плагина. Первое что мы сделаем, это обьявим мета-данные плагина, создадим основную функцию, и повешаем хук на нашу функцию, что бы она вызывалась когда инициализируються плагины для dashboard.</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
/*
Plugin Name: EnvatoStat
Plugin URI: http://wordpress.org/
Description: Plugin for Envato Marketplace users.
Author: Ваше имя
Version: 1.0
Author URI: http://wordpress.org/
*/

// Создаем хук
add_action('wp_dashboard_setup', 'envatostat_setup');
function envatostat_setup()
{
	wp_add_dashboard_widget('envatostat_widget', 'EnvatoStat', 'envatostat_widget');
}

// Функция самого виджета
function envatostat_widget()
{
	// ...
}</pre>
<p>На событие <strong><em>wp_dashboard_setup</em></strong> мы вешаем вызов нашей функции <strong><em>envatostat_setup</em></strong>, в которое проделывается аналогичное только для добавление виджета в dashboard.</p>
<h3>Шаг второй. Делаем страницу настроек</h3>
<p>Страница с настройками необходимо для заполнения данных пользователем, а именно имя аккаунта и API ключ от Envato Marketplace. В конец файла добавляем вот такой код:</p>
<pre class="brush: php; title: ; notranslate">// Добавляем пункт меню
add_action('admin_menu', 'envatostat_create_menuitem');
function envatostat_create_menuitem()
{
	add_options_page('EnvatoStat Settings', 'EnvatoStat Settings', 'manage_options', 'envatostat_menuitem', 'envatostat_settings_page');
}

// Страница настроек
function envatostat_settings_page()
{
	echo '&lt;div class=&quot;wrap&quot;&gt;
	&lt;div id=&quot;icon-options-general&quot; class=&quot;icon32&quot;&gt;&lt;br /&gt;&lt;/div&gt;
	&lt;h2&gt;EnvatoStat Settings&lt;/h2&gt;';

	if($_REQUEST['do'] == 'save')
	{
		update_option('envato_username', $_REQUEST['envato_username']);
		update_option('envato_apikey', $_REQUEST['envato_apikey']);
		echo '&lt;div id=&quot;message&quot; class=&quot;updated&quot;&gt;&lt;p&gt;&lt;strong&gt;Changes saved&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;';
	}

	echo '&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
	&lt;table class=&quot;form-table&quot;&gt;
	&lt;tr&gt;
		&lt;td width=&quot;160&quot;&gt;You username on Envato:&lt;/td&gt;
		&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;envato_username&quot; size=&quot;20&quot; value=&quot;' .  get_option('envato_username', '') . '&quot; /&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;You API key of Envato:&lt;/td&gt;
		&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;envato_apikey&quot; size=&quot;45&quot; value=&quot;' .  get_option('envato_apikey', '') . '&quot; /&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Save changes&quot; class=&quot;button-primary&quot; /&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;/table&gt;
	&lt;input type=&quot;hidden&quot; name=&quot;do&quot; value=&quot;save&quot; /&gt;
	&lt;/form&gt;';
}</pre>
<p>Тут мы создаем простую форму с двумя полями (имя аккаунта и api ключ), когда пользователь клацает на сабмит, мы сохраняем данные в таблицу WordPress настроек.</p>
<h3>Шаг третий. Сердце плагина</h3>
<p>Ну вот и подошли мы к основному, помните функцию <strong>envatostat_widget</strong>, в неё мы будем писать код, который ниже. Но для начала поговорим о том, что будет происходить. Выдераем данные о аккаунта из WordPress и проверяем, если они не пустые, тогда посылаем запрос к апи на получение состоянии баланса пользователя. Когда получим данные, распарсиваем их и если они вылидны, тогда посылаем второй запрос на последние продажи пользователя, их мы аналогично распарсиваем и если они валидны выводим.</p>
<pre class="brush: php; title: ; notranslate">$username = get_option('envato_username', '');
$apikey = get_option('envato_apikey', '');

if($username != '' &amp;&amp; $apikey != '')
{
	$json_url = &quot;http://marketplace.envato.com/api/v1/&quot; . $username . &quot;/&quot; . $apikey . &quot;/account.json&quot;;
	$api = @file_get_contents($json_url);
	$data = json_decode($api);
	if($data == null)
	{
		echo &quot;Error response data :(&quot;;
	}
	else
	{
		echo '&lt;img src=&quot;' . $data-&gt;account-&gt;image . '&quot; style=&quot;float: left;&quot; /&gt;
		&lt;div style=&quot;float: left; margin-left: 10px;&quot;&gt;
		&lt;table width=&quot;100%&quot; cellspacing=&quot;6&quot;&gt;
		&lt;tr&gt;
			&lt;td width=&quot;150&quot;&gt;Your balance:&lt;/td&gt;
			&lt;td&gt;$' . $data-&gt;account-&gt;balance . '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;Commision rate:&lt;/td&gt;
			&lt;td&gt;' . $data-&gt;account-&gt;current_commission_rate * 100 . '%&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;Total deposits:&lt;/td&gt;
			&lt;td&gt;$' . $data-&gt;account-&gt;total_deposits. '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;Total earnings:&lt;/td&gt;
			&lt;td&gt;$' . $data-&gt;account-&gt;available_earnings;. '&lt;/td&gt;
		&lt;/tr&gt;
		&lt;/table&gt;
		&lt;/div&gt;
		&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
		&lt;hr size=&quot;1&quot; color=&quot;#dcdcdc&quot; /&gt;';

		$json_url = &quot;http://marketplace.envato.com/api/v1/&quot; . $username . &quot;/&quot; . $apikey . &quot;/statement.json&quot;;
		$api = @file_get_contents($json_url);
		$data = json_decode($api);
		if($data == null)
		{
			echo &quot;Error response data :(&quot;;
		}
		else
		{
			echo '&lt;table width=&quot;100%&quot; cellspacing=&quot;6&quot;&gt;';
			foreach($data-&gt;statement as $stat)
			{
				$stat-&gt;description = str_replace('sold ', '', $stat-&gt;description);
				$stat-&gt;description = str_replace('w/ rate of ', '(rate of ', $stat-&gt;description) . ')';
				$datetime = new DateTime($stat-&gt;occured_at);

				echo '&lt;tr&gt;';
				echo '&lt;td width=&quot;30&quot;&gt;&lt;span style=&quot;font-size:10px;color:' . ($stat-&gt;kind == &quot;sale&quot; ? &quot;green&quot; : &quot;red&quot;) . '&quot;&gt;' . $stat-&gt;kind . '&lt;/span&gt;&lt;/td&gt;';
				echo '&lt;td width=&quot;60&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;font-size:10px;&quot;&gt;&lt;strong&gt;$' . $stat-&gt;amount . '&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;';
				echo '&lt;td&gt;&lt;span style=&quot;font-size:10px;&quot;&gt;' . $stat-&gt;description . '&lt;/span&gt;&lt;/td&gt;';
				echo '&lt;td width=&quot;65&quot; align=&quot;right&quot;&gt;&lt;span style=&quot;font-size:10px;&quot;&gt;' . $datetime-&gt;format(&quot;d.m.Y&quot;) . '&lt;/span&gt;&lt;/td&gt;';
				echo '&lt;/tr&gt;';
			}
			echo '&lt;/table&gt;';
		}
	}
}
else
{
	echo &quot;Please enter your username and API key of Envato, on widget settings page.&quot;;
}
?&gt;</pre>
<p>Теперь наш плагин, готов осталось его лишь установить, заливаем наш файл с плагином в вордпресс, в папку /wp-content/plugins/, затем в панели управления включаем, теперь он полноценно работает. На этом все!</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/rbbuEJDzLj8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-wp-plugin-for-display-envato-account-stats/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-wp-plugin-for-display-envato-account-stats/</feedburner:origLink></item>
		<item>
		<title>С днем программистов, коллеги!</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/h5BVa1a3LcA/</link>
		<comments>http://sofcase.net/post/with-developers-day-colleagues/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 09:50:26 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[day]]></category>
		<category><![CDATA[developers]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=556</guid>
		<description><![CDATA[Что же, вот он 256 день в году, день программистов. Хочу всех коллег поздравить с этим скромным праздником, пожелать чистого кода, поменьше багов, а также больших успехов в ваших проектах и карьерном росте!]]></description>
			<content:encoded><![CDATA[<p>Что же, вот он 256 день в году, день программистов. Хочу всех коллег поздравить с этим скромным праздником, пожелать чистого кода, поменьше багов, а также больших успехов в ваших проектах и карьерном росте!</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/h5BVa1a3LcA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/with-developers-day-colleagues/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/with-developers-day-colleagues/</feedburner:origLink></item>
		<item>
		<title>Плагин на jQuery для показа сообщений-подсказок (версия 2)</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/PT6w0PenV0o/</link>
		<comments>http://sofcase.net/post/plugin-jquery-for-display-message-version-2/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 09:40:57 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=463</guid>
		<description><![CDATA[В прошлый раз я писал как создать небольшой плагин показывающий сообщения-подсказки в стеке на jQuery. Теперь я расскажу как сделать подобный плагин, но только сообщения уже будут не в стеке и не углу сайта! Этот плагин я назвал jboxmessage, название похоже на предыдущий плагин, но все же суть отличается. Начнем также, как и в прошлом уроке, [...]]]></description>
			<content:encoded><![CDATA[<p>В прошлый раз я писал как создать небольшой плагин показывающий сообщения-подсказки в стеке на jQuery. Теперь я расскажу как сделать подобный плагин, но только сообщения уже будут не в стеке и не углу сайта! Этот плагин я назвал <strong>jboxmessage</strong>, название похоже на предыдущий плагин, но все же суть отличается.</p>
<p><span id="more-463"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jboxmessage/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jboxmessage/jboxmessage.zip" class="cute-button">Скачать исходники</a></div></p>
<p>Начнем также, как и в прошлом уроке, начнем с CSS:</p>
<pre class="brush: css; title: ; notranslate">.boxmessage
{
	position: fixed;
	left: 0; right: 0;

	background: #333;
	border-bottom: 1px solid #666;
	padding: 25px;
	cursor: pointer;

	color: #999; font-family: Tahoma; font-size: 13px;
}
.boxmessage h3
{
	color: #fff; font-size: 17px; font-weight: normal;
	margin: 0 0 10px 0; padding: 0;
}
.error
{
	background: rgba(125, 0, 0, .5);
	color: #fff;
}</pre>
<p>Приступаем ко второму шагу, к HTML разметке, давайте сразу создадим файл плагина и подключим его вместе с jQuery, а также добавим в HTML обработку событий для показа сообщений:</p>
<pre class="brush: xml; title: ; notranslate">&lt;html&gt;
&lt;head&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;
	&lt;title&gt;jBoxMessage&lt;/title&gt;

	&lt;link href=&quot;base.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
	&lt;link href=&quot;jboxmessage.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;

	&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;jquery.jboxmessage.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;
	$(document.body).ready(function()
	{
		$('#show').click(function() { $.jboxmessage('Тестовое сообщение', 'Это просто тестовое сообщение', 'top') });
		$('#show_error').click(function() { $.jboxmessage('Ой, какая досада', 'Что-то пошло не так, как следовало :(', 'bottom', 'error') });
	});
	&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

	&lt;a href=&quot;javascript:;&quot; id=&quot;show&quot;&gt;show message&lt;/a&gt;
	&lt;a href=&quot;javascript:;&quot; id=&quot;show_error&quot;&gt;show error message&lt;/a&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Остался последней шаг, код нашего плагина, приступаем к нему:</p>
<pre class="brush: jscript; title: ; notranslate">$.jboxmessage = function(header, content, position, class_name)
{
	// create box of message
	var boxmessage = $('&lt;div class=&quot;boxmessage ' + class_name + '&quot;&gt;&lt;h3&gt;' + header + '&lt;/h3&gt;' + content + '&lt;/div&gt;');

	// set position
	if(position == 'top')
	{
		$(boxmessage).css('top', 0);
	}
	else
	{
		$(boxmessage).css('bottom', 0);
	}

	// close on click
	$(boxmessage).click(function()
	{
		$(this).animate({opacity: 0}, 500, function()
		{
			$(this).remove();
		});
	});

	// show message
	$(boxmessage).css('opacity', 0).prependTo(document.body).animate({opacity: 1}, 500);
};</pre>
<p>На этом все. Метод плагина принимает в себя четыре параметра, заголовок сообщения, текст сообщения, позицию отображения(верх или низ сайта), а также четвертый не обязательный параметр, &#8212; кастомный класс, определяющий стили для уникальных сообщений.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/PT6w0PenV0o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/plugin-jquery-for-display-message-version-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/plugin-jquery-for-display-message-version-2/</feedburner:origLink></item>
		<item>
		<title>Официальная кнопка ретвита от Твиттера</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/4i7f0l4z_iM/</link>
		<comments>http://sofcase.net/post/official-share-button-from-twitter/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 20:14:26 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Обзоры]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[retweet]]></category>
		<category><![CDATA[share]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=487</guid>
		<description><![CDATA[Твиттер сделал оффициальную кнопку ретвита, выглядит она очень симпатично и легко. Живой пример можно посмотреть в любое статье моего блога (ага, я уже успел её прикрутить к своему блогу). Всего есть три вида кнопки(110&#215;20, 55&#215;20, 55&#215;63), а также три метода для его использования(через фрейм и через Javascript). Вставляем кнопку с помощью фрейма Все довольно просто, необходимо просто [...]]]></description>
			<content:encoded><![CDATA[<p>Твиттер сделал оффициальную кнопку ретвита, выглядит она очень симпатично и легко. Живой пример можно посмотреть в любое статье моего блога (ага, я уже успел её прикрутить к своему блогу). Всего есть три вида кнопки(110&#215;20, 55&#215;20, 55&#215;63), а также три метода для его использования(через фрейм и через Javascript).</p>
<p><span id="more-487"></span></p>
<h3>Вставляем кнопку с помощью фрейма</h3>
<p>Все довольно просто, необходимо просто вставить фрейм с некоторыми задаными параметрами:</p>
<pre class="brush: xml; title: ; notranslate">&lt;iframe allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://platform.twitter.com/widgets/tweet_button.html?url=http://my.url.ru&quot; style=&quot;width:130px; height:50px;&quot;&gt;&lt;/iframe&gt;</pre>
<h3>Вставляем кнопку с помощью Javascript</h3>
<p>Этот метод аналогично прост, необходимо подключить специальный js файл от Твиттера:</p>
<pre class="brush: xml; title: ; notranslate">&lt;script src=&quot;http://platform.twitter.com/widgets.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>В место где должна красоваться кнопка, вставить ссылку со специальным классом:</p>
<pre class="brush: xml; title: ; notranslate">&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot;&gt;Tweet&lt;/a&gt;</pre>
<h3>Параметры, которые может принимать Твиттер</h3>
<p>Кастомизация данных для ретвита происходить по параметрам переданным в URL, либо в data атрибутах. Вот сам списочек:</p>
<ul>
<li><strong>url</strong> &#8212; ссылка на статью [атрибут data-url]</li>
<li><strong>via</strong> &#8212; через что было ретвитнуто [data-via]</li>
<li><strong>text</strong> &#8212; текст сообщения [data-text]</li>
<li><strong>count </strong>- показывать количество ретвитов или нет [data-count] (none, horizontal, vertical)</li>
<li><strong>related</strong> &#8212; насколько я понял, это похожие аккаунт [data-related]</li>
</ul>
<p>Ну вот думаю и все. Если есть вопросы спрашиваем в комментариях, помогу :) По поводу распространения кнопки, думаю она скоро станет висеть на каждом блоге, но вот захотят ли люди убирать кнопку ретвита от сервиса TweetMeme?</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/4i7f0l4z_iM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/official-share-button-from-twitter/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/official-share-button-from-twitter/</feedburner:origLink></item>
		<item>
		<title>Делаем плагин на jQuery для показа сообщений-подсказок</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/V2uD9FMEIVA/</link>
		<comments>http://sofcase.net/post/make-plugin-on-jquery-for-shows-hintmessages/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 18:54:49 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=459</guid>
		<description><![CDATA[В этот раз я хочу рассказать как сделать свой плагин на jQuery для показа небольших сообщений пользователям. Я назвал их сообщения-подсказки (другого названия придумать не смог, так что не придирайтесь). Плагин называется jmessages, думаю о названии ничего разъяснять не надо. Сообщения выводятся в специальном контейнере(в стеке). Ну что же приступим&#8230; Первым делом, что мы сделаем [...]]]></description>
			<content:encoded><![CDATA[<p>В этот раз я хочу рассказать как сделать свой плагин на jQuery для показа небольших сообщений пользователям. Я назвал их сообщения-подсказки (другого названия придумать не смог, так что не придирайтесь). Плагин называется <strong>jmessages</strong>, думаю о названии ничего разъяснять не надо. Сообщения выводятся в специальном контейнере(в стеке). Ну что же приступим&#8230;</p>
<p><span id="more-459"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jmessages/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jmessages/jmessages.zip" class="cute-button">Скачать исходники</a></div></p>
<p>Первым делом, что мы сделаем это естественно определим CSS стили для сообщений и самого стека. Сделаем стандартные сообщения темного фона с прозрачностью в 70% (прошу заметить я в CSS стилях использую RGBA, оно работает лишь в браузерах поддерживающие CSS3), также определим стили для контейнера сообщений (для стека), он у нас будет в правом верхнем углу.</p>
<pre class="brush: css; title: ; notranslate">#jm_stack_box {
	position: fixed; top: 15px; right: 15px;
	width: 220px;
}
#jm_stack_box .jm_message {
	background-color: #000;
	background: rgba(0, 0, 0, .7);
	padding: 10px; margin: 0 0 15px 0;
	font-family: Tahoma; font-size: 11px;
	color: #fff;
	cursor: pointer;

	border-radius: 3px;
	-o-border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}
#jm_stack_box .jm_message h3 {
	font-size: 15px; font-weight: normal;
	padding: 0; margin: 0 0 5px 0;
}</pre>
<p>Ну вот, теперь у нас есть готовые стили. Пора бы переходить к самому плагину. Сообщения у нас будут иметь такие параметры: заголовок, текст, время жизни и поле для переопределения класса.<br />
И так, давайте создадим для начала тело плагина:</p>
<pre class="brush: jscript; title: ; notranslate">(function($) {
	$.jmessage = function(header, message, lifetime, class_name) {
		// ...
	};
})(jQuery);</pre>
<p>Теперь перейдем к добавлению сообщений. При добавлении нам нужно получить ссылку на контейнер сообщений(опять же, &#8212; стек). Если не удастся получить, тогда мы его создаем, после создаём контейнер сообщения и показываем его в стеке. Сразу вешаем триггер на клик, что бы при клике на сообщение оно скрывалось и удалялось, ну и конечно же устанавливаем таймер для автоматического закрытия сообщения, если время жизни сообщения больше 0.</p>
<pre class="brush: jscript; title: ; notranslate">(function($) {
	$.jmessage = function(header, message, lifetime, class_name) {
		// получаем стек
		var stack_box = $('#jm_stack_box');

		// если его нет, тогда создаём
		if (!$(stack_box).length) {
			stack_box = $('&lt;div id=&quot;jm_stack_box&quot;&gt;&lt;/div&gt;').prependTo(document.body);
		}

		// создаем контейнер сообщения
		var message_box = $('&lt;div class=&quot;jm_message ' + class_name + '&quot;&gt;&lt;h3&gt;' + header + '&lt;/h3&gt;' + message + '&lt;/div&gt;');

		// эффектно показываем
		$(message_box).css('opacity', 0).appendTo('#jm_stack_box').animate({opacity: 1}, 300);

		// устанавливаем триггер, при клике закрывать сообщение
		$(message_box).click(function() {
			$(this).animate({opacity: 0}, 300, function() {
				$(this).remove();
			});
		});

		// устанавливаем таймер на закрытие сообщения
		if ((lifetime = parseInt(lifetime)) &gt; 0) {
			setTimeout(function() {
				$(message_box).animate({opacity: 0}, 300, function() {
					$(this).remove();
				});
			}, lifetime);
		}
	};
})(jQuery);</pre>
<p>Теперь наш плагин готов к использованию, вызывать сообщения можно вот таким образом:</p>
<pre class="brush: jscript; title: ; notranslate">$.jmessage('Заголовок', 'Текст сообщения.', 3000, 'test_message');</pre>
<p>Теперь добавьте в CSS еще два стиля, для кастомных классов сообщений, а именно сообщение о ошибке и сообщение об успешном выполнении какой-либо операции:</p>
<pre class="brush: css; title: ; notranslate">#jm_stack_box .jm_message_error {
	background-color: #c00;
	background: rgba(125, 0, 0, .5);
}
#jm_stack_box .jm_message_success {
	background-color: #0c0;
	background: rgba(0, 125, 0, .5);
}</pre>
<p>На этом все, если есть вопросы задавайте их в комментариях. Не забывайте экспериментировать, например можно сделать дополнительный блок (с текстом &laquo;закрыть все сообщения&raquo;) в стеке при клике на который, будут закрываться все открытые сообщения. </p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/V2uD9FMEIVA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-plugin-on-jquery-for-shows-hintmessages/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-plugin-on-jquery-for-shows-hintmessages/</feedburner:origLink></item>
		<item>
		<title>Делаем прогрессбар как в Убунту на СSS3 и jQuery</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/7-lovkzSkik/</link>
		<comments>http://sofcase.net/post/make-a-progressbar-how-in-ubuntu-on-css3-and-jquery/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 19:18:21 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[progressbar]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=365</guid>
		<description><![CDATA[Сегодня мы будем делать прогрессбар как в операционной системе Ubuntu(конкретней в её стандартной графической оболочке GNOME). Как всегда я буду использовать свойства CSS3 и jQuery для анимации и управления состоянием прогрессбара. Сам прогрессбар конечно же не копия как в Убунту, но все же постарался сделать максимально похожим :) И так начнем. В первую очередь нам [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня мы будем делать прогрессбар как в операционной системе Ubuntu(конкретней в её стандартной графической оболочке GNOME). Как всегда я буду использовать свойства CSS3 и jQuery для анимации и управления состоянием прогрессбара. Сам прогрессбар конечно же не копия как в Убунту, но все же постарался сделать максимально похожим :)</p>
<p><span id="more-365"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/ui-ubuntu-progressbar/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/ui-ubuntu-progressbar/progressbar.zip" class="cute-button">Скачать исходники</a></div></p>
<p>И так начнем. В первую очередь нам нужен HTML макет элемента, вот какой он должен у нас быть:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;progressbar&quot; id=&quot;pb&quot;&gt;
	&lt;div&gt;100%&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Класс главного дива описываем его визуальные свойства, идентификатор позволит нам манипулировать им в jQuery. Далеко не отходим и сразу же описываем CSS код прогрессбара:</p>
<pre class="brush: css; title: ; notranslate">div.progressbar
{
	border: 1px solid #db7a15;
	background-color: #efefef;

	border-radius: 3px;
	-o-border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}

div.progressbar div
{
	background: url('bg.gif') 0px 0px repeat;
	height: 20px;
	text-align: center;
	font-size: 11px; font-weight: bold; color: #fff; line-height: 20px;

	text-shadow: 0px 0px 3px #000;
	-o-text-shadow: 0px 0px 3px #000;
	-moz-text-shadow: 0px 0px 3px #000;
	-webkit-text-shadow: 0px 0px 3px #000;

	border-radius: 2px;
	-o-border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
}</pre>
<p>Так, с HTML и CSS мы решили, у нас теперь есть готовый прогрессбар, осталось создать для него анимированый фон и функцию манипуляции, смотрим js:</p>
<pre class="brush: jscript; title: ; notranslate">// когда сайт загружен
$(document.body).ready(function()
{
	// вешаем событие
	$('a').click(function()
	{
		// меняем состояние прогрессбара
		$('#pb div').stop(true).animate({width: $(this).attr('class') + '%'},
		{
			// пошагово ищменяя текст состояния
			step: function(now)
			{
				// записываем в текст
				$(this).text(Math.round(now) + '%');
			},
			duration: 2000
		});
	});

	// заставляем фоновую картинку анимировать
	setInterval(function()
	{
		x = parseInt($('#pb div').css('background-position-x')) + 1;
		$('#pb div').css('background-position-x', '' + x + 'px');
	}, 35);
});</pre>
<p>Готово! Манипуляция происходить при нажатии на ссылки в которых в классе указан процент нового состояния, если не совсем понятно смотрите в исходники, либо пример :) </p>
<p style="text-align: center;"><a href="http://demo.sofcase.net/ui-ubuntu-progressbar/"><img src="http://sofcase.net/wp-content/uploads/2010/08/btn_demo.jpg" alt="" title="Демонстрация" width="120" height="40" class=" size-full wp-image-404" /></a> <a href="http://demo.sofcase.net/ui-ubuntu-progressbar/progressbar.zip"><img src="http://sofcase.net/wp-content/uploads/2010/08/btn_download.jpg" alt="" title="Скачать" width="120" height="40" class="alignnone size-full wp-image-405" /></a></p>
<p>Из недостатков: случаями непонятное поведение текста состояния при проценте меньше 3, а также Mozilla Firefox и Опера, уперто не хотят анимировать свойство background-position-x, из-за этого в них фон статический, а не динамический :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/7-lovkzSkik" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-a-progressbar-how-in-ubuntu-on-css3-and-jquery/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-a-progressbar-how-in-ubuntu-on-css3-and-jquery/</feedburner:origLink></item>
		<item>
		<title>Красивые кнопки на CSS3 для темных фонов</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/bqfqr-0Rq2I/</link>
		<comments>http://sofcase.net/post/buttons-on-css3-for-dark-backgrounds/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 18:21:24 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=420</guid>
		<description><![CDATA[Сегодня я с вами хочу поделиться красивыми кнопками для сайтов с темным фоном, делал естественно на CSS3 :) Кнопки отлично смотрятся и полностью поддерживаются в Google Chrome, Mozilla Firefox, Safari и Opera, за исключением того, что в Опере не поддерживаются градиенты, поэтому в нем градиенты отображаться не будут. В IE как всегда тускло, а именно [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня я с вами хочу поделиться красивыми кнопками для сайтов с темным фоном, делал естественно на CSS3 :) Кнопки отлично смотрятся и полностью поддерживаются в Google Chrome, Mozilla Firefox, Safari и Opera, за исключением того, что в Опере не поддерживаются градиенты, поэтому в нем градиенты отображаться не будут. В IE как всегда тускло, а именно без теней кнопок и текста, без закругленных уголков и без градиентов :)</p>
<p><span id="more-420"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/buttons-on-css3-for-dark-backgrounds/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/buttons-on-css3-for-dark-backgrounds/buttons.zip" class="cute-button">Скачать исходники</a></div></p>
<p>При создании кнопок использовал свойства border-radius, gradients, box-shadow, text-shadow. Всего готово восемь цветов: синий, красный, зеленый, серый, пурпурный, голубой, оранжевый и бурый. Использовать очень просто: создаем поле формы (input), с типом submit либо button и присваиваем класс :)</p>
<p>Пример использования кнопок:</p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;submit&quot; value=&quot;Я кнопка&quot; class=&quot;button green&quot; /&gt;</pre>
<p>Ах, да кнопки имеют два состояния, первый это обычный, второй это наведенный (hover). Вот вроде бы все, еще хотелось бы услышать конкретные мнения в комментариях :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/bqfqr-0Rq2I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/buttons-on-css3-for-dark-backgrounds/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/buttons-on-css3-for-dark-backgrounds/</feedburner:origLink></item>
		<item>
		<title>Легкий аккордеон используя CSS и jQuery</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/iFPJq0bcaVk/</link>
		<comments>http://sofcase.net/post/lite-accordion-with-css-and-jquery/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 20:41:25 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[accordion]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=377</guid>
		<description><![CDATA[В этой статье я покажу как используя CSS и jQuery, можно сделать легкий и красивый аккордеон. Для его создания понадобиться написать лишь пару строчек кода на jQuery и немного на CSS, и для красоты будем использовать немного CSS3. И сразу хочу отметить, что в этой статье я рассказываю не как создать плагин для jQuery, а просто аккордеон, [...]]]></description>
			<content:encoded><![CDATA[<p>В этой статье я покажу как используя CSS и jQuery, можно сделать легкий и красивый аккордеон. Для его создания понадобиться написать лишь пару строчек кода на jQuery и немного на CSS, и для красоты будем использовать немного CSS3. И сразу хочу отметить, что в этой статье я рассказываю не как создать плагин для jQuery, а просто аккордеон, но если же тема будет востребовательна, тогда напишу статью как создать плагин :)</p>
<p><span id="more-377"></span><div class="demo-buttons"><a target="_blank" href="http://demo.sofcase.net/jquery-accordion/" class="cute-button">Демонстрация</a>&nbsp;&nbsp; <a href="http://demo.sofcase.net/jquery-accordion/accordion.zip" class="cute-button">Скачать исходники</a></div></p>
<p>И так начнем с HTML каркаса, давайте создадим его. У нас будет общий контейнер, он будет самим аккордеоном, в нем будет последовательно идти, заголовок H3, блок, H3, блок и т.д. Где H3 это заголовок секции, а блок это её содержимое. Вот такой HTML у нас должен получится:</p>
<pre class="brush: xml; title: ; notranslate">&lt;div id=&quot;accordion&quot;&gt;
	&lt;h3 class=&quot;head&quot;&gt;Секция #1&lt;/h3&gt;
	&lt;div class=&quot;block&quot;&gt;Текст для секции #1&lt;/div&gt;
	&lt;h3 class=&quot;head&quot;&gt;Секция #2&lt;/h3&gt;
	&lt;div class=&quot;block&quot;&gt;Текст для секции #2&lt;/div&gt;
	&lt;h3 class=&quot;head&quot;&gt;Секция #3&lt;/h3&gt;
	&lt;div class=&quot;block&quot;&gt;Текст для секции #3&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Теперь когда у нас есть готовый каркас, нужно определить для него стили. Из разряда CSS3 для заголовка и для блока определим скругленные углы на 3 пикселя (свойство border-radius), для заголовка отдельно определим тень (свойство text-shadow).</p>
<pre class="brush: css; title: ; notranslate">#accordion h3.head {
	margin: 1px 0; padding: 5px 10px;
	font-size: 17px; font-family: Tahoma; font-weight: normal; color: #fff;
	background: #333;
	cursor: pointer;

	border-radius: 3px;
	-o-border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;

	text-shadow: 1px 1px 0px #000;
	-o-text-shadow: 1px 1px 0px #000;
	-moz-text-shadow: 1px 1px 0px #000;
	-webkit-text-shadow: 1px 1px 0px #000;
}

#accordion div.block {
	padding: 10px; margin: 0;
	font-size: 13px; font-family: Tahoma; font-weight: normal; color: #888;
	background: #efefef;

	border: 1px solid #ccc;
	border-radius: 3px;
	-o-border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}</pre>
<p>Также необходимо определить стиль для активной секции, например сделаем фон синего цвета. Добавим в конец CSS эти строчки:</p>
<pre class="brush: css; title: ; notranslate">#accordion h3.active {
	background: #369;
}</pre>
<p>Ну вот вроде бы со стилями и все, теперь можно перейти ко вкусному, к jQuery :) И так не большой алгоритм: при загрузки страницы скрываем все секции кроме первой, делаем первую секцию активной, а также вешаем обработчик события на клик по секции. Вот собственно сам js-файл аккордеона:</p>
<pre class="brush: jscript; title: ; notranslate">// Когда страница полностью загружена
$(window).ready(function() {
	// Скрываем все секции кроме первой
	$('#accordion &gt; div:not(:first)').hide();
	// Делаем первую секцию активной
	$('#accordion h3:first, #accordion div:first').addClass('active');
	// Если пользователь кликнул на секцию
	$('#accordion &gt; h3').click(function() {
		// Сбрасываем все секции
		$('#accordion &gt; h3').removeClass('active');
		$('#accordion &gt; div').hide();

		// Делаем активной на которую кликнули
		$(this).addClass('active');
		$(this).next().addClass('active').show();
	});
});</pre>
<p>Ну вот, теперь наш аккордеон полноценно работает. Но, все же чего-то в нем не хватает, давайте добавим анимации для наглядности.</p>
<pre class="brush: jscript; title: ; notranslate">// Когда страница полностью загружена
$(window).ready(function() {
	// запоминаем высоту и отступы каждого блока
	$('#accordion &gt; div').each(function() {
		$(this).data('height', $(this).height());
		$(this).data('padding-top', $(this).css('padding-top'));
		$(this).data('padding-bottom', $(this).css('padding-bottom'));
	});

	// Скрываем все секции кроме первой
	$('#accordion &gt; div:not(:first)').hide();
	// Делаем первую секцию активной
	$('#accordion h3:first, #accordion div:first').addClass('active');
	// Если пользователь кликнул на секцию
	$('#accordion &gt; h3').click(function() {
		// Сбрасываем все секции
		$('#accordion &gt; h3').removeClass('active');
		$('#accordion &gt; div:visible').animate({
			height: 0,
			'padding-top': 0,
			'padding-bottom': 0
		}, 500, function() { $(this).hide() });

		// Делаем активной на которую кликнули
		$(this).addClass('active');
		box = $(this).next().addClass('active');
		$(box).animate({
			height: $(box).data('height'),
			'padding-top': $(box).data('padding-top'),
			'padding-bottom': $(box).data('padding-bottom')
		}, 500);
	});
});</pre>
<p>Вот теперь у нас готов небольшой и в тоже время симпатичный аккордеон. Не бойтесь его стилизировать, думаю можно добиться гораздо более красивого эффекта, все в ваших руках.</p>
<p style="text-align: center;"><a href="http://demo.sofcase.net/jquery-accordion/" target="_blank"><img class="size-full wp-image-404" title="Демонстрация" src="http://sofcase.net/wp-content/uploads/2010/08/btn_demo.jpg" alt="" width="120" height="40" /></a> <a href="http://demo.sofcase.net/jquery-accordion/accordion.zip"><img class="size-full wp-image-405" title="Скачать" src="http://sofcase.net/wp-content/uploads/2010/08/btn_download.jpg" alt="" width="120" height="40" /></a></p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/iFPJq0bcaVk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/lite-accordion-with-css-and-jquery/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/lite-accordion-with-css-and-jquery/</feedburner:origLink></item>
		<item>
		<title>EnvatoStat — плагин wordpress, для пользователей Envato</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/J1huHNfNI2Y/</link>
		<comments>http://sofcase.net/post/envato-plugin/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 18:30:43 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[envato]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=363</guid>
		<description><![CDATA[Пару дней назад я написал небольшой плагин для WordPress. Плагин отображает в консоле блога информацию о вашем балансе на стоках от Envato, ваш текущий рейт прибыли, а также последние продажи и покупки. Плагин решил продавать опять таки на стоке. ﻿В установке нет ничего сложного, нужно лишь купить плагин, скачать, залить в папку с плагинами в [...]]]></description>
			<content:encoded><![CDATA[<p>Пару дней назад я написал небольшой плагин для WordPress. Плагин отображает в консоле блога информацию о вашем балансе на стоках от Envato, ваш текущий рейт прибыли, а также последние продажи и покупки. Плагин решил продавать опять таки на стоке.<strong> ﻿</strong>В установке нет ничего сложного, нужно лишь купить плагин, скачать, залить в папку с плагинами в вашем блоге, и после активизировать его в панели управления. Для работы нужно в настройках указать имя вашего аккаунта на стоках от Envato, а также API ключ вашего аккаунта. Страница плагина расположена <a href="http://codecanyon.net/item/wp-envatostat/113716" target="_blank">здесь</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/J1huHNfNI2Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/envato-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/envato-plugin/</feedburner:origLink></item>
		<item>
		<title>Simple messages boxes</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/sfZBJU9Dcvo/</link>
		<comments>http://sofcase.net/post/simple-messages-boxes/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 14:53:45 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[boxes]]></category>
		<category><![CDATA[gradients]]></category>
		<category><![CDATA[notify]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=336</guid>
		<description><![CDATA[Сегодня я хочу поделится с вами готовыми стилями для уведомляющих сообщениях. Изначально я их делал для стока, но увы их не приняли, вот и решил после поделиться бесплатно с народом. Использовал свойства CSS3, а именно такие свойства как border-radius, box-shadow, text-shadow и градиенты, так что идеально они смотрятся только в Google Chrome и Mozilla Firefox. [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня я хочу поделится с вами готовыми стилями для уведомляющих сообщениях. Изначально я их делал для стока, но увы их не приняли, вот и решил после поделиться бесплатно с народом. Использовал свойства CSS3, а именно такие свойства как border-radius, box-shadow, text-shadow и градиенты, так что идеально они смотрятся только в Google Chrome и Mozilla Firefox. Посмотреть в живую можно <strong><a title="Демонстрация" href="http://demo.sofcase.net/simple-messages-boxes/" target="_blank">здесь</a></strong>, а скачать <a title="Скачать архив" href="http://demo.sofcase.net/simple-messages-boxes/download.rar">здесь</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/sfZBJU9Dcvo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/simple-messages-boxes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/simple-messages-boxes/</feedburner:origLink></item>
		<item>
		<title>Оформил портфолио</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/KwJruXReI3Q/</link>
		<comments>http://sofcase.net/post/make-a-portfolio/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 11:39:25 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[portfolio]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=321</guid>
		<description><![CDATA[Наконец-то оформил своё портфолио, в портфолио добавил работы, которые были наработаны на фрилансе, которые не стыдно показать, ну и также работы только веб :) Очень долго искал подходящий плагин для портфолио под WordPress, нашел текущий от Dan Harrison, сначала он мне не понравился, но после хорошей переделки сделал что-то нормальное. В дальнейшем напишу свой плагин для портфолио, с [...]]]></description>
			<content:encoded><![CDATA[<p>Наконец-то оформил своё портфолио, в портфолио добавил работы, которые были наработаны на фрилансе, которые не стыдно показать, ну и также работы только веб :) Очень долго искал подходящий плагин для портфолио под WordPress, нашел текущий от Dan Harrison, сначала он мне не понравился, но после хорошей переделки сделал что-то нормальное. В дальнейшем напишу свой плагин для портфолио, с вещами которые я хочу видеть.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/KwJruXReI3Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-a-portfolio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-a-portfolio/</feedburner:origLink></item>
		<item>
		<title>QuickShop — простой движок интернет магазина</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/VuxhONVvErI/</link>
		<comments>http://sofcase.net/post/quickshop-simple-engine-for-online-store/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 08:41:45 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[envato]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[stock]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=253</guid>
		<description><![CDATA[Сегодня я хочу поведать вам о своём движке интернет-магазина. Этот движок я готовил как курсовую работу в академию, но после успешной защиты я решил не закидывать этот проект, а немного улучшить и продавать на стоке CodeCanyon (сток веб-приложений от Envato). Пример работы магазина можно посмотреть на qs.sofcase.net. В первую очередь хочу сказать, что движок не [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня я хочу поведать вам о своём движке интернет-магазина. Этот движок я готовил как курсовую работу в академию, но после успешной защиты я решил не закидывать этот проект, а немного улучшить и продавать на стоке <a href="http://codecanyon.net/?ref=sofcase" target="_blank">CodeCanyon</a> (сток веб-приложений от <a href="http://envato.com/" target="_blank">Envato</a>). Пример работы магазина можно посмотреть на <a title="Демонстрация магазина" href="http://qs.sofcase.net" target="_blank">qs.sofcase.net</a>.</p>
<p><span id="more-253"></span></p>
<p>В первую очередь хочу сказать, что движок не на столько мощный, как многие гиганты типа Magento. Так как нужно было быстро реализовать этот движок, а именно за одну неделю, в качестве шаблонизатора я решил использовать сторонний шаблонизатор <a title="Smarty template engine" href="http://smarty.net" target="_blank">Smarty</a>. В качестве js-библиотеки использовал конечно же мой любимый<a title="jQuery Javascript Libary" href="http://jquery.com" target="_blank"> jQuery</a>, а в качестве визуального редактора пришлось использовать мой ненавистный <a href="http://tinymce.moxiecode.com/" target="_blank">TinyMCE</a>.</p>
<p>Когда реализовывал ядро, старался придерживаться паттерна проектирования MVC. ЧПУ реализовано динамически, т.е. в файле .htaccess достаточно сделать перенаправление на index.php и забыть про него.</p>
<p>Теперь поговорим о том, что может магазин. Ну в первую очередь, это естественно полное управления товарами и категориями, заказами и статическими страницами. Корзина реализована для пользователей и гостей, если вы добавляли товары в корзину под гостем, то после авторизации ваша корзина будет синхронизирована с пользовательской. Заказ могут сделать только зарегистрированные пользователи, т.е. регистрироваться придется все равно :)</p>
<p>В движке реализована мультиязычность на уровне статики, т.е. например описание либо название товара делать на разных языках нельзя, но планирую конечно же сделать.</p>
<p>В дальнейшем планирую сделать оплату заказов по PayPal, WebMoney, MoneyBookers, Visa и MasterCard, характеристики товаров и сравнение, также сделать состояния заказов (ожидает оплаты, оплачен, доставлен), управление глобальными настройками движка через панель управления, и еще несколько небольших мелочей.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/VuxhONVvErI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/quickshop-simple-engine-for-online-store/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/quickshop-simple-engine-for-online-store/</feedburner:origLink></item>
		<item>
		<title>Обзор MyShows.ru</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/7zPwK6q2Zvg/</link>
		<comments>http://sofcase.net/post/myshows-ru-review/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 08:00:56 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Обзоры]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[serials]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=201</guid>
		<description><![CDATA[До обнуления блога я уже писал о сервисе MyShows.ru, но тогда я расписал буквально пару строк, что и как. В сей раз хочу написать более детальнее обзор. Сервис MyShows предоставляет пользователю его статистику просмотра сериалов, а также позволяет мониторить выход новых эпизодов сериалов, которые он смотрит. И так начнем по порядку. Для получения своей статистики [...]]]></description>
			<content:encoded><![CDATA[<p>До обнуления блога я уже писал о сервисе MyShows.ru, но тогда я расписал буквально пару строк, что и как. В сей раз хочу написать более детальнее обзор. Сервис MyShows предоставляет пользователю его статистику просмотра сериалов, а также позволяет мониторить выход новых эпизодов сериалов, которые он смотрит.</p>
<p><span id="more-201"></span></p>
<p>И так начнем по порядку. Для получения своей статистики просмотра сериалов, необходимо в их базе сериалов, отметить какие сериалы вы уже просмотрели, перестали смотреть, либо планируете смотреть. После отметки сериалов на главной странице отображается расписание новых эпизодов сериалов, которые вы смотрели. Немного ниже есть ссылка на раздел, где показывает, какие новые эпизоды вышли, и там же можно отметить их просмотренными.</p>
<p>Также вы можете отмечать своих друзей либо они вас и смотреть их статистику. Ваша статистика разбивается на категории, а именно сериалы, которые вы смотрите, полностью просмотрели, перестали смотреть либо будет смотреть. Данная разбитая статистика показывает количество просмотренных эпизодов и сколько вы еще не просмотрели.</p>
<p>У каждого сериала есть своя статистика, ваш рейтинг, общий рейтинг, рейтинг на IMDB и <a title="Кинопоиск. Все фильмы планеты." href="http://kinopoisk.ru" target="_blank">Кинопоиска</a>, еще есть общая длительность сериала и количество смотрящих сериал (также показывает процент смотрящих от общей аудитории MyShows). Также показывается статус сериала: продолжается, закончен и новый сериал.</p>
<p>MyShows.ru предоставляет каждому пользователю его статистику в виде юзербара, который можно запихнуть куда угодно :) Например вот мой юзербар:</p>
<p><img class="aligncenter" src="http://u.myshows.ru/shared/files/userbars/userbar-4476.png" alt="" width="350" height="19" /></p>
<p>За все время я просмотрел 5316 эпизодов, потратив на них 2499 часов(104 дня). Ну в общем-то все, регистрируйтесь и следите за своей статистикой.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/7zPwK6q2Zvg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/myshows-ru-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/myshows-ru-review/</feedburner:origLink></item>
		<item>
		<title>Делаем красивую кнопку используя CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/HP3ggzHZ5Ls/</link>
		<comments>http://sofcase.net/post/make-beautiful-button-using-css3/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:06:16 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[buttons]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=206</guid>
		<description><![CDATA[Я уже показывал пример как стилизировать текстовое поле используя CSS3, сегодня я хочу рассказать как создавать красивые кнопки используя CSS3. В примере я буду использовать свойства text-shadow, box-shadow, gradient и border-radius. К сожалению градиент поддерживается в данный момент только в Google Chrome, Safari и Firefox. И так начнем, делаем для кнопки закругленные углы, тень для [...]]]></description>
			<content:encoded><![CDATA[<p>Я уже показывал пример как стилизировать текстовое поле используя CSS3, сегодня я хочу рассказать как создавать красивые кнопки используя CSS3. В примере я буду использовать свойства text-shadow, box-shadow, gradient и border-radius. К сожалению градиент поддерживается в данный момент только в Google Chrome, Safari и Firefox.</p>
<p><span id="more-206"></span></p>
<p>И так начнем, делаем для кнопки закругленные углы, тень для текста и самой кнопки, а также сам градиент.</p>
<pre class="brush: css; title: ; notranslate">.button
{
	border: 1px solid #3366cc;
	border-radius: 3px;
	padding: 5px 15px;
	background: -webkit-gradient(linear, left bottom, left top,
		color-stop(0, #3399cc), color-stop(1, #3399ff));
	background: -moz-linear-gradient(bottom, #3399cc, #3399ff);
	color: #fff;
	text-shadow: 1px 1px 0px #069;
	font-size: 13px;
	font-family: Tahoma;
	cursor: pointer;
	box-shadow: 0px 0px 6px #99ccff;
}</pre>
<p>После этого делаем для кнопки ховер, для наглядности и что бы она действительно была кнопкой, а не казалась статическим элементом.</p>
<pre class="brush: css; title: ; notranslate">.button:hover
{
	background: -webkit-gradient(linear, left bottom, left top,
		color-stop(0, #0066cc), color-stop(1, #3399cc));
	border: 1px solid #006699;
}</pre>
<style type="text/css">
.button_ex
{ 
	border: 1px solid #3366cc; 
	border-radius: 3px;
	-o-border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	padding: 5px 15px;
	background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3399cc), color-stop(1, #3399ff)) !important;
	background: -moz-linear-gradient(bottom, #3399cc, #3399ff) !important;
	color: #fff;
	text-shadow: 1px 1px 0px #069;
	-o-text-shadow: 1px 1px 0px #069;
	-moz-text-shadow: 1px 1px 0px #069;
	-webkit-text-shadow: 1px 1px 0px #069;
	font-size: 13px;
	font-family: Tahoma;
	cursor: pointer;
	box-shadow: 0px 0px 6px #99ccff;
	-o-box-shadow: 0px 0px 6px #99ccff;
	-moz-box-shadow: 0px 0px 6px #99ccff;
	-webkit-box-shadow: 0px 0px 6px #99ccff;
}
.button_ex:hover 
{
	background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #0066cc), color-stop(1, #3399cc)) !important;
	background: -moz-linear-gradient(bottom, #0066cc, #3399cc) !important;
	border: 1px solid #006699;
}
</style>
<div style="width:300px; margin:15px auto 0; text-align:center">
<input type="submit" value="Красивая кнопка :)" class="button_ex" /></div>
<p>Теперь смотрим на результат, вышло красиво, правда? Но это не все, а вдруг кнопка будет отключена, и тогда стили активной кнопки останутся и на не активной. Теперь определяем стили для не активной кнопки.</p>
<pre class="brush: css; title: ; notranslate">.button[disabled=disabled]
{
	background: -webkit-gradient(linear, left bottom, left top,
		color-stop(0, #CCC), color-stop(1, #DDD));
	background: -moz-linear-gradient(bottom, #CCC, #DDD);
	border: 1px solid #BBB;
	text-shadow: 1px 1px 0px #DDD;
	color: #999;
	cursor: default;
	box-shadow: 0px 0px 6px #BBB;
}
.button[disabled=disabled]:hover
{
	background: -webkit-gradient(linear, left bottom, left top,
 		color-stop(0, #CCC), color-stop(1, #DDD));
	background: -moz-linear-gradient(bottom, #CCC, #DDD);
	border: 1px solid #BBB;
}</pre>
<style type="text/css">
.button_ex[disabled=disabled]
{
	background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #CCC), color-stop(1, #DDD)) !important;
	background: -moz-linear-gradient(bottom, #CCC, #DDD) !important;
	border: 1px solid #BBB;
	text-shadow: 1px 1px 0px #DDD;
	-o-text-shadow: 1px 1px 0px #DDD;
	-moz-text-shadow: 1px 1px 0px #DDD;
	-webkit-text-shadow: 1px 1px 0px #DDD;
	color: #999;
	cursor: default;
	box-shadow: 0px 0px 6px #BBB;
	-o-box-shadow: 0px 0px 6px #BBB;
	-moz-box-shadow: 0px 0px 6px #BBB;
	-webkit-box-shadow: 0px 0px 6px #BBB;
}
.button_ex[disabled=disabled]:hover
{
	background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #CCC), color-stop(1, #DDD)) !important;
	background: -moz-linear-gradient(bottom, #CCC, #DDD) !important;
	border: 1px solid #BBB;
}
</style>
<div style="width:300px; margin:15px auto 0; text-align:center">
<input type="submit" value="Отключенная кнопка" class="button_ex" disabled="disabled" /></div>
<p>Ну вот на этом все. Еще раз напомню, что данный пример отлично выглядит только в Google Chrome, Safari и Mozilla Firefox, так как только они на данный момент поддерживают градиенты, но можно вместо них ставить картинки градиентами, тогда и в остальных браузерах будет нормально отображаться, за исключением ослика :)</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/HP3ggzHZ5Ls" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/make-beautiful-button-using-css3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/make-beautiful-button-using-css3/</feedburner:origLink></item>
		<item>
		<title>Поговорим про некоторые свойства CSS3 (часть вторая)</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/zw42NAMAdxY/</link>
		<comments>http://sofcase.net/post/speaking-about-few-elements-of-css3-part02/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 09:33:44 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=140</guid>
		<description><![CDATA[И так, в первой части я уже вас познакомил со свойствами border-radius, text-shadow, box-shadow и множественными фонами. В этот раз я хочу познакомить вас с transition(анимация), resize, и background-size. Еще обещал рассказать про подключения сторонних шрифтов, но о них наверно позже (плюс прямого отношения к CSS3 они не имеют). Resize Это свойство позволяет пользователю динамически [...]]]></description>
			<content:encoded><![CDATA[<p>И так, в первой части я уже вас познакомил со свойствами border-radius, text-shadow, box-shadow и множественными фонами. В этот раз я хочу познакомить вас с transition(анимация), resize, и background-size. Еще обещал рассказать про подключения сторонних шрифтов, но о них наверно позже (плюс прямого отношения к CSS3 они не имеют).</p>
<p><span id="more-140"></span></p>
<h3>Resize</h3>
<p>Это свойство позволяет пользователю динамически изменять размер элемента, к которому он применен. Например как по умолчанию textarea в Google Chrome. Свойство resize принимает один параметр, тип ресайза (hotizontal &#8212; горизонтальный, vertical &#8212; вертикальный, both &#8212; и тот и тот).</p>
<div style="resize: horizontal; -o-resize: horizontal; -moz-resize: horizontal; -webkit-resize: horizontal; background-color: #0099cc; color: #ffffff; overflow-x: hidden; overflow-y: hidden; max-width: 560px; width: 180px; padding: 20px;">resize: horizontal</div>
<p>Так же для работы этого свойства нужно указывать overflow. Максимальный размер устанавливается используя max-width и max-height, а минимальный либо width и height, либо min-width и min-height. Это свойство поддерживается только в Safari и Google Chrome.</p>
<h3>Background size</h3>
<p>Свойство background-size позволяет задавать фиксированный размер фона. Принимает два значения, которые определяют размер фона (можно передавать одно, которое будет дублироваться). Принимает значения в пикселях, процентах и значение auto.</p>
<div style="width: 540px; padding: 20px; height: 40px; background-size: 220px 60px; -o-background-size: 220px 60px; -webkit-background-size: 220px 60px; -moz-background-size: 220px 60px; border: 1px solid #CCC; background: url('http://sofcase.net/wp-content/uploads/2010/06/speaking-about-few-elements-of-css3-part02.jpg') top right no-repeat; margin: 0 auto;">background-size: 220px 60px;</div>
<p>Как можно видеть картинка ужата по средствам свойства background-size. Это свойство не поддерживается только в Mozilla Firefox в данный момент.</p>
<h3>Transition</h3>
<p>Ну вот и самое вкусное, с появлением transition можно уже делать много анимационных вкусностей с элементами, не используя javascript. Синтаксис у свойства transition довольно простой:<br />
<code>transition: color 3s linear 4s;</code></p>
<p>Первое значение это свойство, к которому привязывается анимация, второе время выполнение, третий параметр это тайминг функция (о них немного ниже) и четвертый параметр это задержка. Нужно также не забывать что свойство transition множественное, т.е. через запятую можно указывать несколько правил для него, либо можно вместо первого параметра указать all, и тогда анимация будет применяться ко всем свойствам. В Mozilla Firefox могут быть проблемы с анимацией.</p>
<style type="text/css">.div_example { padding: 20px; background-color: #09c; color: #fff; font-size: 13px; -webkit-transition: background-color 300ms linear, padding 300ms linear; -o-transition: background-color 300ms linear, padding 300ms linear; -moz-transition: background-color 300ms linear, padding 300ms linear; transition: background-color 300ms linear, padding 300ms linear; } .div_example:hover { background-color: #333; padding: 30px; }</style>
<div class="div_example">transition: background-color 300ms linear, padding 300ms linear;</div>
<p>Для примера анимации &#8212; наведите на синий блок. Свойство transition имеет дочерние свойства transition-duration, transition-delay, transition-property и transition-timing-function. Теперь поговорим о тайминг функциях, их всего шесть: default, linear, ease-in, ease-out, ease-in-out и cubic-bezier. Эти тайминг функции говорят как будет вести себя анимация, например default в начале и в конце анимации замедляется, а linear всю анимацию выполняет на одинаковом интервале. Подробнее о тайминг-функциях можно почитать в <a href="http://www.w3.org/TR/css3-transitions/#transition-timing-function_tag" target="_blank">спецификации CSS3</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/zw42NAMAdxY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/speaking-about-few-elements-of-css3-part02/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/speaking-about-few-elements-of-css3-part02/</feedburner:origLink></item>
		<item>
		<title>Красиво стилизируем текстовое поле формы используя CSS3</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/S6umDzqhPPg/</link>
		<comments>http://sofcase.net/post/beautifully-styles-for-textfield-using-css3/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 12:32:30 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[form]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=98</guid>
		<description><![CDATA[И так, о некоторых свойствах CSS3 я уже написал, теперь я хочу показать как их можно использовать на примере стилизации элементов форм. В примере я буду использовать такие свойства из CSS3 как border-radius, box-shadow и transition(анимация). Ну что же, приступим. У нас есть обычное текстовое поле для ввода текста, то есть &#60;input&#62; со стандартными браузерскими стилями, выглядит он вполне [...]]]></description>
			<content:encoded><![CDATA[<p>И так, о некоторых свойствах CSS3 я уже написал, теперь я хочу показать как их можно использовать на примере стилизации элементов форм. В примере я буду использовать такие свойства из CSS3 как border-radius, box-shadow и transition(анимация).</p>
<p><span id="more-98"></span></p>
<p>Ну что же, приступим. У нас есть обычное текстовое поле для ввода текста, то есть &lt;input&gt; со стандартными браузерскими стилями, выглядит он вполне нормально и обычно, но мы сделаем его красивым и эффектным.</p>
<p>Начнем, давайте рамку сделаем серого цвета и добавим скругленные углы, так же добавим сразу внутренние отступы, цвет текста, тень:</p>
<pre class="brush: css; title: ; notranslate">input.example
{
     border-radius: 3px;
     border: 1px solid #AAA;
     padding: 3px 5px;
     color: #888;
     width: 140px;
     box-shadow: 0px 0px 5px #CCC;
}</pre>
<style type="text/css">
input.example01 { outline: 0; border-radius: 3px; -o-border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; border: 1px solid #AAA; padding: 3px 5px; color: #888; width: 140px; box-shadow: 0px 0px 5px #CCC; -o-box-shadow: 0px 0px 5px #CCC; -moz-box-shadow: 0px 0px 5px #CCC; -webkit-box-shadow: 0px 0px 5px #CCC; transition: all 300ms ease-in; -o-transition: all 300ms ease-in; -moz-transition: all 300ms ease-in; -webkit-transition: all 300ms ease-in; }
</style>
<div style="text-align: center;margin:15px auto 0;">
<input class="example01" type="text" value="I'm funny textfield" /></div>
<p>Теперь смотрится немного лучше, осталось добавить стили фокуса и ховера, менять цвета я буду используя transition(анимацию).</p>
<pre class="brush: css; title: ; notranslate">input.example
{
     border-radius: 3px;
     border: 1px solid #AAA;
     padding: 3px 5px;
     color: #888;
     width: 140px;
     box-shadow: 0px 0px 5px #CCC;
     transition: all 300ms ease-in;
}
input.example:hover
{
     border-color: #66cccc;
     box-shadow: 0px 0px 6px #99ccff;
     color: #666;
}
input.example:focus
{
     border-color: #6699cc;
     box-shadow: 0px 0px 6px #66ccff;
     color: #333;
}</pre>
<style type="text/css">
input.example02 { outline: 0; border-radius: 3px; border: 1px solid #AAA; padding: 3px 5px; color: #888; width: 140px; box-shadow: 0px 0px 5px #CCC; transition: all 300ms ease-in; -o-transition: all 300ms ease-in; -moz-transition: all 300ms ease-in; -webkit-transition: all 300ms ease-in; }
input.example02:hover { outline: 0; border-color: #66cccc; box-shadow: 0px 0px 6px #99ccff; -o-box-shadow: 0px 0px 6px #99ccff; -moz-box-shadow: 0px 0px 6px #99ccff; -webkit-box-shadow: 0px 0px 6px #99ccff; color: #666; }
input.example02:focus { outline: 0; border-color: #6699cc; box-shadow: 0px 0px 6px #66ccff; -o-box-shadow: 0px 0px 6px #66ccff; -moz-box-shadow: 0px 0px 6px #66ccff; -webkit-box-shadow: 0px 0px 6px #66ccff; color: #333; }
</style>
<div style="text-align: center;margin:15px auto 0;">
<input class="example02" type="text" value="Click me please :)" /></div>
<p>Теперь смотрим что получилось, кажется весьма неплохо. Не забывайте про приставки к свойствам CSS3 для разных браузеров. В следующий раз расскажу как создавать красивые кнопки (buttons) используя CSS3.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/S6umDzqhPPg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/beautifully-styles-for-textfield-using-css3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/beautifully-styles-for-textfield-using-css3/</feedburner:origLink></item>
		<item>
		<title>Поговорим про некоторые свойства CSS3 (часть первая)</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/bro7jMVRTO0/</link>
		<comments>http://sofcase.net/post/speaking-about-few-elements-of-css3-part01/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 22:09:02 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[browsers]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=53</guid>
		<description><![CDATA[В этой статье я хочу рассказать про некоторые свойства CSS3, а именно про такие как: border-radius, box-shadow, text-shadow и множественные фоны. Всем им есть применение, я все чаще замечаю их использование на зарубежный сайтах, даже в дизайне моего блога используется text-shadow и border-radius, а вот с сайтами юанета и рунета, все очень плохо. Все свойства [...]]]></description>
			<content:encoded><![CDATA[<p>В этой статье я хочу рассказать про некоторые свойства CSS3, а именно про такие как: border-radius, box-shadow, text-shadow и множественные фоны. Всем им есть применение, я все чаще замечаю их использование на зарубежный сайтах, даже в дизайне моего блога используется text-shadow и border-radius, а вот с сайтами юанета и рунета, все очень плохо. Все свойства указаные в этой статье поддерживаются в Google Chrome, Safari, Mozilla Firefox и Opera.</p>
<p><span id="more-53"></span></p>
<h3>Border Radius</h3>
<p>Данное свойство используется для закругление углов блочных элементов. Синтаксис у него простой, как и у margin либо padding. Также это свойство имеет под свойства: border-radius-topleft (верхний левый угол), border-radius-topright (верхний правый угол), border-radius-bottomleft (нижний левый угол), border-radius-bottomright (нижний правый угол).</p>
<div style="border-radius: 6px; -o-border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; background: #39c; padding: 20px; text-align: center; width: 220px; margin: 0 auto 15px; color: #fff;">border-radius: 6px;</div>
<h3>Text Shadow</h3>
<p>Я до сих пор помню как я подставлял под необходимый мне текст блок с таким же содержимым и смещал его на один пиксель вниз и вправо, и все это лишь для того, чтобы добиться красивого эффекта тени. Теперь этого делать не приходится ведь есть свойство text-shadow.</p>
<p>Синтаксис у него простой: <span style="color: #333399;">text-shadow: 1px 1px 0px #000;</span><br />
Первый параметр смещение тени по оси x, второй по оси y, третий параметр размытие, и четвертый параметр это цвет тени.</p>
<div style="text-shadow: 1px 1px 0px #000; -o-text-shadow: 1px 1px 0px #000; -moz-text-shadow: 1px 1px 0px #000; -webkit-text-shadow: 1px 1px 0px #000; background: #39c; padding: 20px; text-align: center; width: 220px; margin: 0 auto 15px; color: #fff;">text-shadow: 1px 1px 0px #000;</div>
<h3>Box Shadow</h3>
<p>Это свойство полностью аналогично свойству text-shadow, только применяется к блочным элементам, а не к тексту. Синтаксис и поддержка в браузерах также аналогичны к свойству text-shadow.</p>
<div style="box-shadow: 3px 3px 0px #CCC; -o-box-shadow: 3px 3px 0px #CCC; -moz-box-shadow: 3px 3px 0px #CCC; -webkit-box-shadow: 3px 3px 0px #CCC; background: #39c; padding: 20px; text-align: center; width: 220px; margin: 0 auto 15px; color: #fff;">box-shadow: 3px 3px 0px #CCC;</div>
<h3>Множественные фоны</h3>
<p>Еще одно интересное свойство, его использование очень легкое и простое. Объявление фона происходит аналогично спецификации CSS2.1, только дополнительные фоны нужно указывать через запятую.</p>
<pre class="brush: css; title: ; notranslate">background-image: url('url_image_1'), url('url_image_2');
background-repeat: no-repeat, no-repeat;
background-position: top left, top right;</pre>
<div style="background-image: url(http://sofcase.net/wp-content/uploads/2010/06/generic.png), url(http://sofcase.net/wp-content/uploads/2010/06/icon-download.png.png); background-color: #39c; background-repeat: no-repeat, no-repeat; background-position: 10px 15px, 205px 7px; padding: 20px; text-align: center; width: 220px; margin: 15px auto; color: #fff;">multiple backgrounds</div>
<h3>Примечания для новичков</h3>
<p>Как вы можете видеть в примерах я описывал свойства без всяких приставок, которые все еще обязательны для поддержки этих свойств в различных браузерах, пожалуйста не забывайте о них. Приставка -o- для Opera, приставка -moz- для Mozilla Firefox, приставка -webkit- для Safari и Google Chrome (некоторые свойства уже понимает и без приставки). Для множественных фонов приставки не нужны.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/bro7jMVRTO0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/speaking-about-few-elements-of-css3-part01/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/speaking-about-few-elements-of-css3-part01/</feedburner:origLink></item>
		<item>
		<title>Стоки от Envato</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/JeXqjzpNK_Y/</link>
		<comments>http://sofcase.net/post/stocks-from-envato/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 18:50:47 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Обзоры]]></category>
		<category><![CDATA[envato]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[pay]]></category>
		<category><![CDATA[stock]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=41</guid>
		<description><![CDATA[Как легко заработать себе на пиво, а то и больше, особо не перетрудившийся? Если ты веб-разработчик, дизайнер, флеш-аниматор и т.д., тогда можно зарабатывать на стоках продавая свои небольшие работы, например те работы, которые вы когда-либо делали для себя. Так как стоки от Envato имеют аудиторию разных стран, они имеют большое количество пользователей, а от туда и [...]]]></description>
			<content:encoded><![CDATA[<p>Как легко заработать себе на пиво, а то и больше, особо не перетрудившийся? Если ты веб-разработчик, дизайнер, флеш-аниматор и т.д., тогда можно зарабатывать на стоках продавая свои небольшие работы, например те работы, которые вы когда-либо делали для себя. Так как стоки от Envato имеют аудиторию разных стран, они имеют большое количество пользователей, а от туда и большое количество клиентов.</p>
<p><span id="more-41"></span></p>
<h3>Список стоков</h3>
<ul>
<li><a href="http://activeden.net/?ref=sofcase" target="_blank">ActiveDen</a> (мин. стоимость работы $1)<br />
Сток для как для флеш-аниматоров, так и для флеш-программистов.</li>
<li><a href="http://audiojungle.net/?ref=sofcase" target="_blank">AudioJungle</a> (мин. стоимость работы $1)<br />
На этом стоке можно продавать свои музыкальные композиции.</li>
<li><a href="http://themeforest.net/?ref=sofcase" target="_blank">ThemeForest</a> (мин. стоимость работы $5)<br />
Этот сток для верстальщиков, тут и HTML шаблоны и готовые шаблоны для WordPress, Joomla и т.д.</li>
<li><a href="http://videohive.net/?ref=sofcase" target="_blank">VideoHive</a> (мин. стоимость работы $2)<br />
Если же вы любите заниматься видео-монтажом и видео-эффектами, тогда вам нужен этот сток.</li>
<li><a href="http://graphicriver.net/?ref=sofcase" target="_blank">GraphicRiver</a> (мин. стоимость работы $1)<br />
Этот сток рай для дизайнера, тут можно продавать все что можно нарисовать :)</li>
<li><a href="http://3docean.net/?ref=sofcase" target="_blank">3DOcean</a> (мин. стоимость работы $1)<br />
Сток для 3D аниматоров и дизайнеров, тут продают всякие модели, текстуры и т.д.</li>
<li><a href="http://codecanyon.net/?ref=sofcase" target="_blank">CodeCanyon</a> (мин. стоимость работы $5)<br />
Ну вот и сток для веб-разработчиков, тут можно продавать работы на технологиях PHP, Javascript, ASP.NET и Java. C недавних пор появились категории CSS, HTML5, Плагины(WP, Magento и т.д.)</li>
</ul>
<h3>Подробнее о аккаунтах</h3>
<p>Ваш аккаунт будет связан со всеми стоками, словно это один большой сток :) Это значит, что можно продавать под одним аккаунтом на нескольких стоках одновременно.</p>
<p>Цену на ваш товар выставляет модератор после проверки вашей работы. При продаже ваших работ вам платят процент, если тип вашего аккаунта &#8212; обычный, тогда вам платят 25% от стоимость работы, если ваш тип аккаунта эксклюзивный (бесплатный) вам платят от 40% до 70%, но вы не имеете права продавать свои работы на других стоках(имеется введу те работы, которые вы продаете на их стоке).</p>
<p>Перед добавлением своих работ на каждом стоке необходимо пройти их небольшой тест из 10 вопрос, которые связаны с авторскими правами. Ну вроде как все рассказал, успешных вам продаж.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/JeXqjzpNK_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/stocks-from-envato/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/stocks-from-envato/</feedburner:origLink></item>
		<item>
		<title>Генерация списка файлов шаблона в XML для Joomla</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/rNvbUtS7KhU/</link>
		<comments>http://sofcase.net/post/generate-files-list-of-jtemplate-to-xml/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 12:23:29 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=20</guid>
		<description><![CDATA[В очередной раз на работе верстая шаблон под Joomla, доходят руки до грамотного формирования XML файла шаблона. Все бы ничего, оформить такие узлы как название, описание, параметры и т.д. не занимает много времени, но добавление файлов содержащиеся в шаблоне забирает кучу времени, особенно когда например в дизайне используется под сотню картинок. Чтобы долго не мараться я решил написать небольшую [...]]]></description>
			<content:encoded><![CDATA[<p>В очередной раз на работе верстая шаблон под Joomla, доходят руки до грамотного формирования XML файла шаблона. Все бы ничего, оформить такие узлы как название, описание, параметры и т.д. не занимает много времени, но добавление файлов содержащиеся в шаблоне забирает кучу времени, особенно когда например в дизайне используется под сотню картинок. Чтобы долго не мараться я решил написать небольшую утилиту для автоматического заполнения всех файлов шаблона в XML файл.</p>
<p><span id="more-20"></span></p>
<p>Тут в очередной раз мне пригодились знания C#. Потратив в общей сумме пол часа, утилита была готова и работала на отлично. Все что ей нужно это выбрать папку с шаблоном, затем утилита сама найдет XML файл шаблона и запишет в него все файлы в этом шаблоне. Саму утилиту можно скачать <a title="jTemplateXML" href="http://sofcase.net/storage/jtemplate_xml.rar">здесь</a>.</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/rNvbUtS7KhU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/generate-files-list-of-jtemplate-to-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/generate-files-list-of-jtemplate-to-xml/</feedburner:origLink></item>
		<item>
		<title>С белого листа</title>
		<link>http://feedproxy.google.com/~r/sofcasenet/~3/4zOArPgLQNM/</link>
		<comments>http://sofcase.net/post/with-white-sheet/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 07:45:19 +0000</pubDate>
		<dc:creator>sofcase</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[new]]></category>

		<guid isPermaLink="false">http://sofcase.net/?p=8</guid>
		<description><![CDATA[И так, наступил переломный момент, когда я наконец завершил работу над своим блогом. В сей раз новый подход к дизайну (вдохновился дизайном 365psd.com и нарисовал себе похожий, благо знания фотошопа позволяют это). Теперь бывший контент убит легким нажатием двух кнопок. В скором времени некоторые статьи, которые я считаю были самые весомые из всей прошлой кучи, [...]]]></description>
			<content:encoded><![CDATA[<p>И так, наступил переломный момент, когда я наконец завершил работу над своим блогом. В сей раз новый подход к дизайну (вдохновился дизайном 365psd.com и нарисовал себе похожий, благо знания фотошопа позволяют это). Теперь бывший контент убит легким нажатием двух кнопок. В скором времени некоторые статьи, которые я считаю были самые весомые из всей прошлой кучи, будут опубликованы еще раз, но уже обновленные, то есть я напишу их заново, и на этот раз содержательней и сытнее.</p>
<p><span id="more-8"></span></p>
<p>Так же полностью обновил страницу &laquo;Обо мне&raquo;, страница &laquo;Портфолио&raquo; пока что не доступна, добавил в шаблон поддержку древовидных комментариев. По поводу дизайна, хочу заметить, что поддержка IE6-8 не осуществлялась, так как я ярый ненавистник этого браузера (в IE8 все отображается нормально и ничего не съезжает, но всякие красивости, например закругленные уголки и тени на текстах, работать не будут так как они реализованы по средствам CSS3).</p>
<img src="http://feeds.feedburner.com/~r/sofcasenet/~4/4zOArPgLQNM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://sofcase.net/post/with-white-sheet/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://sofcase.net/post/with-white-sheet/</feedburner:origLink></item>
	</channel>
</rss>

