Сегодня 27 ноября, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7276
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Хаки и Скрипты Next Generation CMS
Хаки и Скрипты Next Generation CMS
Голосов: 1
Адрес блога: http://ngcmshak.ru
Добавлен: 2013-12-31 14:21:51 блограйдером 88888888
 

Меню с векторными иконками

2014-02-06 19:13:44 (читать в оригинале)

Немного спрятанные изначально иконки, выезжают при наведении на них курсора мыши.
1.Скачиваем архив[isnt-logged]Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам css3_menu_slideup.zip (182.64 Kb)[/is-logged] и заливаем в папку с шаблоном
2.Разметка меню
Код:
  <div class="menu">
<i class="icon-cloud-download azul"></i>
<i class="icon-camera-retro verde"></i>
<i class="icon-envelope-alt vermelho"></i>
<i class="icon-truck laranja"></i>
<i class="icon-gift roxa"></i>
<i class="icon-frown azul"></i>
<i class="icon-linux vermelho"></i>
<i class="icon-windows verde"></i>
</div>
3. Стили нашего меню
Иконки, как и в нашем недавнем примере, также заключены в файл шрифта font-awesome.css.
Код:
 @import "../css/font-awesome.css";

*, *::before, *::after{
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
}

.azul {
color: #0F6698;
}

.verde {
color: #669900;
}

.vermelho {
color: #cc3333;
}

.laranja {
color: #ff6600;
}

.roxa {
color: #663399;
}

.verde-claro {
color: #cccc33;
}

.menu {
border-bottom: 1px solid #000;
text-align: center;
height: 60px;
overflow: hidden;
margin: 20px auto;
width: 480px;
font-size: 3em;
cursor: default;
}

.menu i {
position: relative;
top: 30px;
transition: .2s ease;
}

.menu i:hover {
top: 13px;
}
Все смотрим демо и качаем исходник

Красивые лоадеры использующие HTML5 canvas.

2014-02-06 18:42:38 (читать в оригинале)

В демо приведено уже довольно много симпатичных вариантов лоадеров, но с помощью javascript файла sonic (размером около 3 Кб в сжатом состоянии) можно создать и собственные анимации загрузки.

Скачать исходник [isnt-logged]Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам canvas_preloader.zip (4.93 Kb)[/is-logged] и залить скрипт в корень вашего сайта
Вариант1

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{
width: 100,
height: 50,
padding: 10,

stepsPerFrame: 2,
trailLength: 1,
pointDistance: .03,

strokeColor: '#FF7B24',

step: 'fader',

multiplier: 2,

setup: function() {
this._.lineWidth = 5;
},

path: [

['arc', 10, 10, 10, -270, -90],
['bezier', 10, 0, 40, 20, 20, 0, 30, 20],
['arc', 40, 10, 10, 90, -90],
['bezier', 40, 0, 10, 20, 30, 0, 20, 20]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант2

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 30,
height: 30,

stepsPerFrame: 2,
trailLength: .3,
pointDistance: .1,
padding: 10,

fillColor: '#D4FF00',
strokeColor: '#FFF',

setup: function() {
this._.lineWidth = 20;
},

path: [
['line', 0, 0, 30, 0],
['line', 30, 0, 30, 30],
['line', 30, 30, 0, 30],
['line', 0, 30, 0, 0]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант3

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 100,

stepsPerFrame: 1,
trailLength: 1,
pointDistance: .025,

strokeColor: '#05E2FF',

fps: 20,

setup: function() {
this._.lineWidth = 2;
},
step: function(point, index) {

var cx = this.padding + 50,
cy = this.padding + 50,
_ = this._,
angle = (Math.PI/180) * (point.progress * 360);

this._.globalAlpha = Math.max(.5, this.alpha);

_.beginPath();
_.moveTo(point.x, point.y);
_.lineTo(
(Math.cos(angle) * 35) + cx,
(Math.sin(angle) * 35) + cy
);
_.closePath();
_.stroke();

_.beginPath();
_.moveTo(
(Math.cos(-angle) * 32) + cx,
(Math.sin(-angle) * 32) + cy
);
_.lineTo(
(Math.cos(-angle) * 27) + cx,
(Math.sin(-angle) * 27) + cy
);
_.closePath();
_.stroke();

},
path: [
['arc', 50, 50, 40, 0, 360]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант4

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 50,

stepsPerFrame: 1,
trailLength: 1,
pointDistance: .1,
fps: 15,
padding: 10,
//step: 'fader',

fillColor: '#FF2E82',

setup: function() {
this._.lineWidth = 20;
},

path: [
['line', 0, 20, 100, 20],
['line', 100, 20, 0, 20]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант5

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 100,

stepsPerFrame: 7,
trailLength: .7,
pointDistance: .01,
fps: 30,

setup: function() {
this._.lineWidth = 10;
},

path: [
['line', 20, 70, 50, 20],
['line', 50, 20, 80, 70],
['line', 80, 70, 20, 70]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант6

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 100,

stepsPerFrame: 4,
trailLength: 1,
pointDistance: .01,
fps: 25,

fillColor: '#FF7B24',

setup: function() {
this._.lineWidth = 10;
},

step: function(point, i, f) {

var progress = point.progress,
degAngle = 360 * progress,
angle = Math.PI/180 * degAngle,
angleB = Math.PI/180 * (degAngle - 180),
size = i*5;

this._.fillRect(
Math.cos(angle) * 25 + (50-size/2),
Math.sin(angle) * 15 + (50-size/2),
size,
size
);

this._.fillStyle = '#63D3FF';

this._.fillRect(
Math.cos(angleB) * 15 + (50-size/2),
Math.sin(angleB) * 25 + (50-size/2),
size,
size
);

if (point.progress == 1) {

this._.globalAlpha = f < .5 ? 1-f : f;

this._.fillStyle = '#EEE';

this._.beginPath();
this._.arc(50, 50, 5, 0, 360, 0);
this._.closePath();
this._.fill();

}

},

path: [
['line', 40, 10, 60, 90]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>

Вариант7

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 100,

stepsPerFrame: 3,
trailLength: 1,
pointDistance: .01,
fps: 30,
step: 'fader',

strokeColor: '#D4FF00',

setup: function() {
this._.lineWidth = 6;
},

path: [
['arc', 50, 50, 20, 360, 0]
]
},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант8

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 100,

stepsPerFrame: 1,
trailLength: 1,
pointDistance: .02,
fps: 30,

fillColor: '#05E2FF',

step: function(point, index) {

this._.beginPath();
this._.moveTo(point.x, point.y);
this._.arc(point.x, point.y, index * 7, 0, Math.PI*2, false);
this._.closePath();
this._.fill();

},

path: [
['arc', 50, 50, 30, 0, 360]
]

},
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант9

Код:
 <script src="sonic.js"></script>
<script>
var loaders = [
{

width: 100,
height: 100,

stepsPerFrame: 1,
trailLength: 1,
pointDistance: .05,

strokeColor: '#FF2E82',

fps: 20,

setup: function() {
this._.lineWidth = 4;
},
step: function(point, index) {

var cx = this.padding + 50,
cy = this.padding + 50,
_ = this._,
angle = (Math.PI/180) * (point.progress * 360),
innerRadius = index === 1 ? 10 : 25;

_.beginPath();
_.moveTo(point.x, point.y);
_.lineTo(
(Math.cos(angle) * innerRadius) + cx,
(Math.sin(angle) * innerRadius) + cy
);
_.closePath();
_.stroke();

},
path: [
['arc', 50, 50, 40, 0, 360]
]
}
];

var d, a, container = document.getElementById('in');

for (var i = -1, l = loaders.length; ++i < l;) {

d = document.createElement('div');
d.className = 'l';

a = new Sonic(loaders[i]);

d.appendChild(a.canvas);
container.appendChild(d);

a.canvas.style.marginTop = (150 - a.fullHeight) / 2 + 'px';
a.canvas.style.marginLeft = (150 - a.fullWidth) / 2 + 'px';

a.play();

}

</script>
Вариант10

Код:
 <script src="sonic.js"></script>
<script>

var circle = new Sonic({

width: 50,
height: 50,
padding: 50,

strokeColor: '#000',

pointDistance: .01,
stepsPerFrame: 3,
trailLength: .7,

step: 'fader',

setup: function() {
this._.lineWidth = 5;
},

path: [
['arc', 25, 25, 25, 0, 360]
]

});

circle.play();

document.body.appendChild(circle.canvas);

</script>
Вариант11

Код:
 <script src="sonic.js"></script>
<script>

var square = new Sonic({
width: 100,
height: 100,
fillColor: '#000',
path: [
['line', 10, 10, 90, 10],
['line', 90, 10, 90, 90],
['line', 90, 90, 10, 90],
['line', 10, 90, 10, 10]
]
});

square.play();

document.body.appendChild(square.canvas);

</script>
Вариант12
)
Код:
 <script src="sonic.js"></script>
<script>

var colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']

var square = new Sonic({

width: 100,
height: 100,

pointDistance: .005,
trailLength: .9,
stepsPerFrame: 5,

setup: function() {
this._.lineWidth = 5;
},

step: function(point, index, frame) {

this._.beginPath();

var color, prev, x, y, angle,
radius = 45,
cx = 50,
cy = 50;

angle = Math.PI/180 * (point.progress * 360);

for (var i = -1, l = colors.length; ++i < l;) {

color = colors[i];
prev = this['_' + color];

x = Math.cos(angle) * radius + cx;
y = Math.sin(angle) * radius + cy;

this._.fillStyle = color;
this._.strokeStyle = color;

this._.beginPath();
prev && this._.moveTo(prev.x, prev.y);
this._.lineTo(x, y);
this._.closePath();
this._.stroke();
this['_' + color] = {x:x,y:y};

radius -= 5;

}

},

path: [
['arc', 100, 100, 90, 0, 360]
]

});

square.play();

document.body.appendChild(square.canvas);

</script>
Также можно самим определить шаг функции.Вроде все смотрим демо ,качаем исходник ,если непонятно пишем.

Выводим информацию из дополнительных полей xfields в плагине xnews .

2014-02-06 14:20:53 (читать в оригинале)

Например, у нас есть дополнительное поле (тип Группа изображений) с ID:poster.
Чтобы вывести эти изображения в блока xnews (шаблон entries.tpl) нужно добавить такой цикл:
1.Проверяем есть ли изображения в доп.поле, если нету то ничего не выводим, по сути можно прописать {% else %} и вывести изображение-заглушку.
2. Далее цикл по изображениям. Внутри можно использовать различные переменные с параметром img (как он задан внутри for'a).
3. Если надо вывести только первое изображение можно сделать внутри цикла условие {% if (loop.first) %}XXX{% endif %} - которое будет показывать блок только при первой показе цикла (только первое изображение). Другие параметры loop можно посмотреть здесь:http://twig.sensiolabs.org/doc/tags/for.html

Код:
 {% if (p.xfields.poster.count > 0) %}
{% for img in p.xfields.poster.entries %}
{% if (loop.first) %}
{{img.url}}
{{img.purl}}
{{img.width}}
{{img.height}}
{{img.pwidth}}
{{img.pheight}}
{{img.name}}
{{img.origName}}
{{img.description}}
{{img.flags.hasPreview}}
{% endif %}
{% endfor %}
{% endif %}
Аналогичено этому коду можно просто выводить первый элемент из массива.

Код:
 {% if (p.xfields.poster.count > 0) %}
{{ p.xfields.poster.entries[0].url }}
{{ p.xfields.poster.entries[0].purl }}
{% endif %}
Также, содержимое любой переменной можно посмотреть при помощи debugValue, например:
Код:
 {{ debugValue(p.xfields) }}
Или можно просто вывести отладочную информацию по всем доступным в данном месте переменным с их значениями при помощи
Код:
  {{ debugContext(0) }}


Обалденные эффекты для кнопок на CSS3

2014-02-06 02:59:28 (читать в оригинале)

Набор эффектов для создания красивых кнопок с анимацией на CSS3 при наведении и нажатии. В некоторых местах использовался javascript для добавления/удаления классов с эффектами.

Иконки мы добавляли используя псевдо-классы :before, иногда :after.
1.Разметка очень простая. Отличия кнопок только в классах:
Код:
 <button class="btn btn-1 btn-1a">Кнопка</button>

2. Стили кнопок определены в классе .btn, свойства добавляются через пронумерованные классы (.btn-1 и т.п.). При этом пронумерованные классы, также объединяют определенную группу кнопок, добавлением еще классов (.btn-1a и т.п.) мы добиваемся разных эффектов для текущей группы кнопок.
Код:
 /* Button 1b */
.btn-1b:after {
width: 100%;
height: 0;
top: 0;
left: 0;
background: #fff;
}
.btn-1b:hover,
.btn-1b:active {
color: #0e83cd;
}
.btn-1b:hover:after,
.btn-1b:active:after {
height: 100%;
}
В рабочих проектах, рекомендуется, конечно же, объединять все эти три класса в один.
Ну а подробно смотрим исходник. [isnt-logged]Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам css3_buttons.zip (28.44 Kb)[/is-logged]

Будем делать красивую кнопку при помощи CSS3

2014-02-06 02:39:37 (читать в оригинале)

Рассмотрим примеры создания CSS-кнопок но без использования картинок.
Для создания красивых кнопок с градиентом и закругленными углами веб-мастерам приходилось использовать картинки с прозрачными областями или сценарии JavaScript (jQuery). К счастью современные браузеры стали поддерживать CSS3 и появилась возможность создавать красивые кнопки более естественным путем через стили.
CSS3 позволяет писать элегантный и простой код, который полностью удовлетворяет требованиям дизайнеров. Кроме того, используемые приемы обладают урезанной совместимостью со старыми браузерами - в любом случае будет отображаться кнопка (только без дополнительных рюшечек).

Для создания кнопки используется тег button
Код:
 <button>Щелкни меня</button>


В результате на странице появится серая кнопка, которая не слишком интересна для нас. Давайте ее чуть приукрасим с помощью стандартных проверенных стилей.

Код:
 <button class="blue-btn">Щелкни меня</button>
Код:
 button.blue-btn{
background: #2e8ce3;
padding: 7px 30px;
font-size:13px;
font-weight: bold;
color:#fff;
text-align: center;
border:solid 1px #73c8f0;
}

Теперь намного лучше - голубая кнопка с белым текстом смотрится интереснее.

Переходим к более продвинутым приемам. Закруглим уголки у кнопки. Здесь наблюдается очень радостная картина, все современные браузеры, включая IE9, уже поддерживают правило border-radius. На всякий случай еще можно использовать старые стили -moz-border-radius и -webkit-border-radius, как временную меру.
Код:
 	border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;

Добавим немного градиента. К сожалению, пока придется использовать специфичные теги для отдельных браузеров (Chrome, Firefox, Safari). Для градиента нужно указывать начальные и конечные точки для перехода цветов.

Код:
 background: -moz-linear-gradient(0% 100% 90deg,#2e8ce3, #73c2fd);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#73c2fd), to(#2e8ce3));

Добавим небольшую белый ободок, чтобы кнопка была более выпуклой.

Код:
 box-shadow: inset 0 1px 0 0 #fff;
-moz-box-shadow: inset 0 1px 0 0 #fff;
-webkit-box-shadow: inset 0 1px 0 0 #fff;

Новое свойство box-shadow создает эффект тени. В нашем примере мы используем параметр inset, что позволяет добавить белую окантовку шириной в 1 пиксель в верхней части кнопки, но не выходя за пределы границы кнопки.

Для увеличения контрастности добавим темный цвет в нижней части кнопки.

Код:
 border-bottom-color:#196ebb;

И, наконец, последний штрих. Добавим для красоты тень не только к кнопке, но и для текста внутри кнопки.

Код:
 text-shadow: 0 -1px 0 #196ebb;

Я обратил внимание, что цветная кнопка выглядит статичной в Chrome, хотя в IE8/9 кнопка нормально нажимается. Нужно добавить немного реалистичности. Например, подчеркивание текста при наведении мышкой и эффект нажатия при щелчке. Для этого используются правила :hover и :active

Код:
 button.blue-btn7:hover {
text-decoration: underline;
}

button.blue-btn7:active {
position: relative;
top: 1px;
}

Можно упростить создание кнопок, если разделить некоторые стили. Например, создать некоторый базовый функционал для кнопки и создать подклассы, которые будут специфичны для кнопки определенного цвета. Обратите внимание, что мы не используем сам объект Кнопка, а создаем класс, который будет похож на кнопку.

Зададим начальные параметры псевдокнопки.

Код:
 .unibutton {
display: inline-block;
outline: none;
cursor: pointer;
text-align: center;
text-decoration: none;
font: 14px/100% Arial, Helvetica, sans-serif;
padding: .5em 2em .55em;
text-shadow: 0 1px 1px rgba(0,0,0,.3);
-webkit-border-radius: .5em;
-moz-border-radius: .5em;
border-radius: .5em;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
box-shadow: 0 1px 2px rgba(0,0,0,.2);
margin:30px;
}
.unibutton:hover {
text-decoration: none;
}
.unibutton:active {
position: relative;
top: 1px;
}
Теперь создадим подкласс и зададим цвет кнопкам, причем мы можем создавать сколь угодно много таких подклассов и делать разноцветные кнопки:

Код:
 .orange {
color: #FFF;
border: solid 1px #da7c0c;
background: #f78d1d;
background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20));
background: -moz-linear-gradient(top, #faa51a, #f47a20);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20');
}
.orange:hover {
background: #f47c20;
background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015));
background: -moz-linear-gradient(top, #f88e11, #f06015);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015');
}
.orange:active {
color: #fcd3a5;
background: -webkit-gradient(linear, left top, left bottom, from(#f47a20), to(#faa51a));
background: -moz-linear-gradient(top, #f47a20, #faa51a);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f47a20', endColorstr='#faa51a');
}
Мы задаем любому HTML-объекту стиль кнопки и подстиль цвета и получаем результат:

Код:
 <a href="#" class="unibutton orange">Оражневая кнопка</a>

вроде все понятно ,а что не понятно пишите комменты


Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»
Изменения рейтинга
Категория «Кино»
Взлеты Топ 5
+363
414
Информационный колодец
+341
345
Yurenzo
+339
343
CAPTAIN
+331
341
Alta1r
+322
361
Vindigo
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.