Как сделать флажок с помощью CSS (Border)

Привет любители прекрасного в дизайне! Сегодня поделюсь кодом флажка, а че 😉 какой праздник без флажков, а если дизайн детского сайта, или дизайн детского интернет магазина, да и просто…дизайн!!!  Экспериментируйте.

.flag {
  background-color: #000;
  position: relative;
  width: 40px;
  height: 80px;
}
.flag:before {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  border-left: 20px solid #000;
  border-right: 20px solid #000;
  border-bottom: 20px solid transparent;
}

Путешествие из Киева в Венецию машиной
Путешествие из Киева в Венецию машиной.

Путешествие в Венецию машиной.

Хочу сегодня поделиться с Вами маленьким – малюсеньким НО ОЧЕНЬ важным секретом 🙂 Перед тем как ехать по Европе своей машинкой вам надо знать некоторые нюансы, походите по интернету, почитайте. Не буду писать лишнего скажу,что было ВАЖНО и что я отметила бы в нашей поездке  в августе 2017 года.

  1. Автобаны Польши платные 2-3 Евро. Пробки возле больших городов и перед оплатой ВСЕГДА! Отель в Польше, в котором нам понравилось и мы туда вернемся при случае 🙂  “Милениум” в городе Зураков. Только открылся.  (64Евро на 3 человека комната. Чисто. Тихо. Вкусный завтрак, WiFi… что еще надо
    Путешествие из Киева в Венецию машиной
    Путешествие из Киева в Венецию машиной 2017год

    усталому путнику.)

  2. Автобаны по Германии – шара и кайф! При въезде в Германию вас 99% из 100% поймают полицейские для проверки документов. Даже ночью! Обгоняют  Follow me и уводят из автобана 🙂 Не бойтесь.  Ночевали под Мюнхеном 90Евро ночь на 3-их. Парное молоко, коровки… вид из окна – лес и тишина. Да, под Мюнхеном есть такие места и там, кстати, нет наших 🙂 только немцы прячутся на выходных там попить настоящего пивка… дети бегают по лужайкам босиком… (Это место сдам только в личку, уж больно оно интимное 🙂 чистое, … только средство от комаров не помешает 🙂  )
  3. Автобаны Австрии – мы  попадали в пробки и очень длинные. Мы стояли на границе Австрия-Германия 2 часа в пробке, например. Безусловно границ, как таковых нет, но что-то подобное нашим КП – есть. 3 полосы свели в одну и просеивали как через сито 🙂 Лучше ехать бесплатными дорогами по Альпам – ЭТО не передаваемая красота! Водопады, шикарная дорога, дома в цветах… ВОЗДУХ и еще раз ВОЗДУХ! Дышите всей грудью, каждой клеточкой! А автобаны по 11Евро раза 2 платили, кажется, шикарные длинные туннели…
  4. Автобаны Италии удивили 🙂 8.80 Евро и если бы не было 0,80 – я не знаю что делать…, автомат СДАЧИ НЕ ДАВАЛ 1Евро! Мы отдыхали в Lido di Jesolo.  Отелей там много! Что-то для себя подберете. Заночуете, а с утра мы чухнули в Венецию 😉 едете в Пунта-Саббиони там вас паркуют за 7 Eвро (даже в тени есть место с утра… до 10:00 так точно были места) и покупайте билет на катер 15Евро курсом на Сан Марко к голубям и китайцам и того и другого там 1:1 и без обид 🙂 , пожалуйста… Обратно дорогу найдете! В добрый путь… и лучше взять GPS новигатор машину,  лишним не будет, выведет из любой  _опы. Не хотите платить за интернет – он там не дешевый уж точно, скачайте карты дома или, на крайний случай, WiFi есть на многих заправках.. докачаете если че…

И наконец СЕКРЕТ обещанный в начале статьи. Для езды по Австрии необходимо купить на первой же заправке так называемое ВИНЕТО (VIGNETTE) на минимальный термин – 10 дней за  8Евро, иначе ШТРАФ, какой не знаю 🙂  см. ФОТО. То, что в зеленом кружочке – это немцы прикалывались уже с нас. Мы простояли в центре города 3 дня, а на четвертый они нам написали ШТРАФ, а за что, мы должны были догадаться… и догадались. Проехать вы можете, а вот если вы там больше 3 дней, а мы были 3 недели… надо получить вот такой зеленый кружочек на лоб (около 5 Eвро, кажется), чтобы все видели, что вы не ядовитый 🙂 Ну как-то так.

 

 

Как убрать зону доставки в интернет магазине WooCommerce?
Как убрать зону доставки в интернет магазине WooCommerce?

Как убрать зону доставки в интернет магазине WooCommerce?

Вот есть такая полезная функция, а клиенты просят убрать. “Засоряет интерфейс, страницу сайта, а мы все равно не пользуемся :)” – цитата.
Я говорю об этом сообщении:  Remove “Customer matched shipping zone…” которое появляется, когда клиент делает покупку в интернет магазине на странице  in woocommerce cart, а затем и на странице checkout…

Как убрать зону доставки в интернет магазине WooCommerce?
Как убрать зону доставки в интернет магазине WooCommerce?

Простой способ  : заходим в консоль  WooCommerce -> System status -> Tools and uncheck “Shipping Debug Mode” Checkbox and “Save changes”…Then clear the browser cookies and test once.. I hope your Issue will be resolved..

Если у вас рус. WooCommerce, тогда заходим в консоль  WooCommerce -> Состояние системы -> Инструменты и убираем галочку напротив  “Режим отладки для доставки”   Для понимания смотрите  фото

Как всегда все просто для тех кто знает.

Подпишитесь на новостную ленту моего блога

Введите свой E-mail

Получайте мои шпоргалки себе на почту. Новости будут приходить на указанный E-mai

Как убрать слово «любой» или «any»в фильтрах
Как убрать слово любой или any в фильтрах

Как убрать слово “любой” или “any“в фильтрах  интернет магазина на woocommerce.

Сегодня поделюсь еще одной полезной находкой: слово “любой” (если у вас подключен перевод ) или “any” ( в оригинале) в фильтрах.

Спряталось оно естественно в самом плагине woocommerce/includes/widgets/class-wc-widget-layered-nav.php

Красным я выделила фай в котором и находится “any” у меня это было строкой 181

// skip when viewing the taxonomy
if ( $current_tax && $taxonomy == $current_tax ) {

$found = false;

} else {

$taxonomy_filter = str_replace( 'pa_', '', $taxonomy );

$found = false;

echo '<select class="dropdown_layered_nav_' . $taxonomy_filter . '">';

echo '<option value="">' . sprintf( __( 'any  %s', 'woocommerce' ), wc_attribute_label( $taxonomy ) ) . '</option>';

foreach ( $terms as $term )

Как убрать слово «любой» или «any»в фильтрах
Как убрать слово «любой» или «any»в фильтрах

 

З.Ы. Если, все же,  я не совсем ясно выразилась 🙂 пишите – сделаю! any any any все все все

Замена SKU (артикула) на ID на странице товара. Woocommerce.

В интернет магазинах с плагином woocommerce при добавлении товара автоматически генерируется так называемый ID товара.  Можно его проставить на странице товара вместо артикула. Это  удобно, особенно, если вы по той или иной причине не хотите показывать и прописывать артикул.

Задача поставлена следующая:

На странице товара вывести  ID вместо артикула. Артикулы не должны быть видны покупателю, но они должны быть в админке и видны и поиск по ним чтобы работал, и была чтобы возможность проставлять вручную. Для заказчика будет виден всегда на странице товара ID и называться Артикулом 🙂  товара. Это удобно, поскольку ID генерируется автоматически при добавлении товара.

Надо найти файл meta.php  у меня он был …woocomerce/single-product/meta.php

найти:

<?php do_action( ‘woocommerce_product_meta_start’ ); ?>

<?php if ( wc_product_sku_enabled() && ( $product->get_sku() || $product->is_type( ‘variable’ ) ) ) : ?>

<span class=”sku_wrapper”><strong><?php _e( ‘SKU:’, ‘yit’ ); ?></strong><span class=”sku” itemprop=”sku”><?php echo ( $sku = $product->get_sku() ) ? $sku : __( ‘N/A’, ‘yit’ ); ?></span>.</span>

<?php endif; ?>

И заменить SKU на ID (я выделила красным)

<?php do_action( ‘woocommerce_product_meta_start’ ); ?>

<?php if ( wc_product_sku_enabled() && ( $product->get_id() || $product->is_type( ‘variable’ ) ) ) : ?>

<span class=”sku_wrapper”><strong><?php _e( ‘SKU:’, ‘yit’ ); ?></strong><span class=”sku” itemprop=”sku”><?php echo ( $id = $product->get_id() ) ? $id : __( ‘N/A’, ‘yit’ ); ?></span>.</span>

<?php endif; ?>

решение, как всегда просто для того, кто знает 🙂

Теперь это просто и для вас!

 

Как в доставке убрать “Бесплатно”

Как в доставке убрать “Бесплатно”

В интернет магазине woocommerce есть следующие методы доставки по умолчанию:

Единая ставка – Оплата все равно какой доставки. Можно вписать курьерскую по Украине, например.

Бесплатная доставка –  Самовывоз

Международная единая ставка – доставка по Украине Укрпочтой

Местная доставка – тут мы используем, как правило, курьерскую

Обычно, этих методов достаточно, чтобы сделать доставку комфортной. У моего клиента нет самовывоза (то есть бесплатной), но нужна была еще доставка новой почтой по тарифам Новой почты, но чтобы доставка не подсчитывалась в корзине. Именно бесплатную доставку я и задействовала. Получается клиент оплачивает доставку уже при получении товара на складе Новой почты. Это оказалось удобно, поскольку платить за доставку магазину, как правило усредненную цену, а чаще всего, завышенную, умный покупатель уже не хочет. Задача стояла следующая: убрать слово “бесплатно” , и заменить на словосочетание “Доставка по тарифам Новой почты”. Я с задачей справилась, даю и вам ключик.

в woocommerce/includes/wc-cart-functions.php:287
$label .= ‘ (‘ . __( ‘Free‘, ‘woocommerce’ ) . ‘)‘;

Отмеченное синим – удалить или заменить на ваш вариант. Если я смогла вам помочь – очень приятно заранее!

Хороших вам фрилансов!

 

Подпишитесь на новостную ленту моего блога. Введите свой E-mail

Новости будут приходить на указанный E-mai

 

Создаем оригинальные hover-эффекты при помощи CSS3

Создаем оригинальные hover-эффекты при помощи CSS3

Очень жаль что эти примеры будут корректно работать только в современных браузерах, которые поддерживают свойства CSS3. Но еще совсем недавно (лет 10 назад) я боялась загружать сайты большими картинками, чтобы они не грузились долго….Сейчас же background (ом) на 3600px никого не удивишь  :))))) так что все течет все меняется. Источник habrahabr. Забираю себе в шпаргалки и делюсь с вами.

HTML-разметка

Структура разметки очень простая и интуитивно понятная. Создайте контейнер, который будет содержать изображение и любую другую информацию, такую как заголовок, описание и прочее.

Внутри блока с классом view вставим элемент с классом mask, который будет отвечать за наши эффекты CSS3, внутри него мы и поместим название, описание и ссылку на полное изображение. (Для некоторых примеров, нам нужно будет добавить mask как отдельный элемент и обернуть описание в div с классом content.)

<div class="view">

<img src="image.gif" />

<div class="mask">

<h2>Title</h2>

<p>Your Text</p>

<a href="#" class="info">Read More</a> </div> </div>

После создания разметки мы создадим наши стили.

.view { width: 300px; height: 200px; margin: 10px; float: left; border: 10px solid #fff; overflow: hidden; position: relative; text-align: center; box-shadow: 1px 1px 2px #e6e6e6; cursor: default; background: #fff url(../images/bgimg.jpg) no-repeat center center }

.view .mask, .view .content { width: 300px; height: 200px; position: absolute; overflow: hidden; top: 0; left: 0 }

.view img { display: block; position: relative }

.view h2 { text-transform: uppercase; color: #fff; text-align: center; position: relative; font-size: 17px; padding: 10px; background: rgba(0, 0, 0, 0.8); margin: 20px 0 0 0 }

.view p { font-family: Georgia, serif; font-style: italic; font-size: 12px; position: relative; color: #fff; padding: 10px 20px 20px; text-align: center }

.view a.info { display: inline-block; text-decoration: none; padding: 7px 14px; background: #000; color: #fff; text-transform: uppercase; box-shadow: 0 0 1px #000 }

.view a.info:hover { box-shadow: 0 0 5px #000 }

А теперь мы рассмотрим десять эффектов.

Пример 1

 

Добавим специальный класс view-first в элемент с классом view для этого эффекта. Мы будем добавлять специальный класс для каждого экземпляра view элемента (view-first, view-second, view-third, и т.д.).

<div class="view view-first">
 
</div>
В первом примере мы будем использовать только некоторые базовые переходы, чтобы создать неплохой эффект при наведении курсора:
.view { width: 300px; height: 200px; margin: 10px; float: left; border: 10px solid #fff; overflow: hidden; position: relative; text-align: center; box-shadow: 1px 1px 2px #e6e6e6; cursor: default; background: #fff url(../images/bgimg.jpg) no-repeat center center }
 .view .mask, .view .content { width: 300px; height: 200px; position: absolute; overflow: hidden; top: 0; left: 0 }
 .view img { display: block; position: relative }
 .view h2 { text-transform: uppercase; color: #fff; text-align: center; position: relative; font-size: 17px; padding: 10px; background: rgba(0, 0, 0, 0.8); margin: 20px 0 0 0 } 
.view p { font-family: Georgia, serif; font-style: italic; font-size: 12px; position: relative; color: #fff; padding: 10px 20px 20px; text-align: center }.view a.info { display: inline-block; text-decoration: none; padding: 7px 14px; background: #000; color: #fff; text-transform: uppercase; box-shadow: 0 0 1px #000 }
.view a.info:hover { box-shadow: 0 0 5px #000 } 

А теперь самое интересное в нашем эффекте. Когда мы перемещаем курсор над изображением, можно использовать свойство delay чтобы имитировать простую анимацию. transition-delay, который мы используем при наведении может быть изменен, чтобы отличаться от обычного класса. В этом примере мы не использовали какой-либо задержки в обычном классе, но мы добавили delay в hover, который будет немного задерживать эффект перехода.

.view-first:hover img { transform: scale(1.1); }
 .view-first:hover .mask { opacity: 1; }
 .view-first:hover h2,
 .view-first:hover p,
 .view-first:hover a.info { opacity: 1; transform: translateY(0px); }
 .view-first:hover p { transition-delay: 0.1s; }
 .view-first:hover a.info { transition-delay: 0.2s; }
Пример 2



Во втором примере мы добавим специальный класс view-second, но мы оставим элемент с классом mask пустым и обернем описание в div с классом content.
<div class="view view-second">
 <img src="images/5.jpg" />
 <div class="mask"></div>
 <div class="content">
 <h2>Hover Style #2</h2>
 <p>Some description</p>
 <a href="#" class="info">Read More</a>
 </div>
</div>

Здесь класс mask будет иметь различные атрибуты, в частности мы собираемся применить свойство transform (translate и rotate). Описание элементов будут перемещены так, чтобы мы могли сдвинуть их вместе при наведении:
.view-second img {
 transition: all 0.2s ease-in;
}
.view-second .mask {
 background-color: rgba(115,146,184, 0.7);
 width: 300px;
 padding: 60px;
 height: 300px;
 opacity: 0;
 transform: translate(265px, 145px) rotate(45deg);
 transition: all 0.2s ease-in-out;
}
.view-second h2 {
 border-bottom: 1px solid rgba(0, 0, 0, 0.3);
 background: transparent;
 margin: 20px 40px 0px 40px;
 transform: translate(200px, -200px);
 transition: all 0.2s ease-in-out;
}
.view-second p {
 transform: translate(-200px, 200px);
 transition: all 0.2s ease-in-out;
}
.view-second a.info {
 transform: translate(0px, 100px);
 transition: all 0.2s 0.1s ease-in-out;
}

Для нашего hover-эффекта мы используем translate-преобразование для того, чтобы перемещать наши элементы на место. mask также будет поворачиваться. Элементы описания будут двигаться с небольшой задержкой:
.view-second:hover .mask {
 opacity:1;
 transform: translate(-80px, -125px) rotate(45deg);
}
.view-second:hover h2 {
 transform: translate(0px,0px);
 transition-delay: 0.3s;
}
.view-second:hover p {
 transform: translate(0px,0px);
 transition-delay: 0.4s;
}
.view-second:hover a.info {
 transform: translate(0px,0px);
 transition-delay: 0.5s;
}
 
Пример 3



В третьем примере мы будем использовать translate и rotate преобразование:
.view-third img {
 transition: all 0.2s ease-in;
}
.view-third .mask {
 background-color: rgba(0,0,0,0.6);
 opacity: 0;
 transform: translate(460px, -100px) rotate(180deg);
 transition: all 0.2s 0.4s ease-in-out;
}
.view-third h2{
 transform: translateY(-100px);
 transition: all 0.2s ease-in-out;
}
.view-third p {
 transform: translateX(300px) rotate(90deg);
 transition: all 0.2s ease-in-out;
}
.view-third a.info {
 transform: translateY(-200px);
 transition: all 0.2s ease-in-out;
}

Это простые инструкции, которые будут применяться при наведении. Теперь мы будем переворачивать описание элементов, установив transition-delay соответственно:
.view-third:hover .mask {
 opacity:1;
 transition-delay: 0s;
 transform: translate(0px, 0px);
}
.view-third:hover h2 {
 transform: translateY(0px);
 transition-delay: 0.5s;
}
.view-third:hover p    {
 transform: translateX(0px) rotate(0deg);
 transition-delay: 0.4s;
}
.view-third:hover a.info {
 transform: translateY(0px);
 transition-delay: 0.3s;
}
 
Пример 4



В четвертом примере мы выполним простое уменьшение изображения и увеличение нашего контента с вращением, все это благодаря scale преобразованию. Мы установим transition-delay равным 0,2 для стилей изображения, но при наведении мы изменим его на 0s. Это позволит начать анимацию немедленно при наведении мыши, но задержать её когда курсор уходит.
.view-fourth img {
 transition: all 0.4s ease-in-out 0.2s;
 opacity: 1;
}
.view-fourth .mask {
 background-color: rgba(0,0,0,0.8);
 opacity: 0;
 transform: scale(0) rotate(-180deg);
 transition: all 0.4s ease-in;
 border-radius: 0px;
}
.view-fourth h2{
 opacity: 0;
 border-bottom: 1px solid rgba(0, 0, 0, 0.3);
 background: transparent;
 margin: 20px 40px 0px 40px;
 transition: all 0.5s ease-in-out;
}
.view-fourth p {
 opacity: 0;
 transition: all 0.5s ease-in-out;
}
.view-fourth a.info {
 opacity: 0;
 transition: all 0.5s ease-in-out;
}

Это инструкции, чтобы получить этот эффект — с CSS3 можно делать все :).
.view-fourth:hover .mask {
 opacity: 1;
 transform: scale(1) rotate(0deg);
 transition-delay: 0.2s;
}
.view-fourth:hover img       {
 transform: scale(0);
 opacity: 0;
 transition-delay: 0s;
}
.view-fourth:hover h2,
.view-fourth:hover p,
.view-fourth:hover a.info{
 opacity: 1;
 transition-delay: 0.5s;
}
 
Пример 5



В этом пятом примере мы будем использовать свойство translate наряду с transition-timing-function ease-in-out для того, чтобы сдвинуть контент с левой стороны.
.view-fifth img {
 transition: all 0.3s ease-in-out;
}
.view-fifth .mask {
 background-color: rgba(146,96,91,0.3);
 transform: translateX(-300px);
 opacity: 1;
 transition: all 0.4s ease-in-out;
}
.view-fifth h2{
 background: rgba(255, 255, 255, 0.5);
 color: #000;
 box-shadow: 0px 1px 3px rgba(159, 141, 140, 0.5);
}
.view-fifth p{
 opacity: 0;
 color: #333;
 transition: all 0.2s linear;
}

Эффект при наведении будет сдвигать изображение вправо и описание появится с левой стороны, как если бы оно сдвинуло картинку:
.view-fifth:hover .mask {
 transform: translateX(0px);
}
.view-fifth:hover img {
 transform: translateX(300px);
 transition-delay: 0.1s;
}
.view-fifth:hover p{
 opacity: 1;
 transition-delay: 0.4s;
}
 
Пример 6



В этом примере мы сделаем описание появляющееся спереди, уменьшим изображение до исходного размера (scale c 10 до 1). Кнопка «read more» будет появляться снизу (translate).
.view-sixth img {
 transition: all 0.4s ease-in-out 0.5s;
}
.view-sixth .mask{
 background-color: rgba(146,96,91,0.5);
 opacity:0;
 transition: all 0.3s ease-in 0.4s;
}
.view-sixth h2{
 opacity:0;
 border-bottom: 1px solid rgba(0, 0, 0, 0.3);
 background: transparent;
 margin: 20px 40px 0px 40px;
 transform: scale(10);
 transition: all 0.3s ease-in-out 0.1s;
}
.view-sixth p {
 opacity:0;
 transform: scale(10);
 transition: all 0.3s ease-in-out 0.2s;
}
.view-sixth a.info {
 opacity:0;
 transform: translateY(100px);
 transition: all 0.3s ease-in-out 0.1s;
}

Обратный переход будет задержан таким образом, чтобы он выглядел гладким:
.view-sixth:hover .mask {
 opacity:1;
 transition-delay: 0s;
}
.view-sixth:hover img {
 transition-delay: 0s;
}
.view-sixth:hover h2 {
 opacity: 1;
 transform: scale(1);
 transition-delay: 0.1s;
}
.view-sixth:hover p {
 opacity:1;
 transform: scale(1);
 transition-delay: 0.2s;
}
.view-sixth:hover a.info {
 opacity:1;
 transform: translateY(0px);
 transition-delay: 0.3s;
}
 
Пример 7



В седьмом примере идея в том, чтобы повернуть изображение в центре и переместить его вдаль. Затем появится описание, пряча за собой вращающиеся изображение.
.view-seventh img{
 transition: all 0.5s ease-out;
 opacity: 1;
}
.view-seventh .mask {
 background-color: rgba(77,44,35,0.5);
 transform: rotate(0deg) scale(1);
 opacity: 0;
 transition: all 0.3s ease-out;
 transform: translateY(-200px) rotate(180deg);
}
.view-seventh h2{
 transform: translateY(-200px);
 transition: all 0.2s ease-in-out;
}
.view-seventh p {
 transform: translateY(-200px);
 transition: all 0.2s ease-in-out;
}
.view-seventh a.info {
 transform: translateY(-200px);
 transition:  all 0.2s ease-in-out;
}

При наведении мы добавим задержку для элементов с описанием. Это позволит нам видеть вращающиеся изображение, прежде чем описание скроет картинку. В обратном переходе все исчезнет сразу же, и мы увидим изображение вращающееся в обратном направлении:
.view-seventh:hover img{
 transform: rotate(720deg) scale(0);
 opacity: 0;
}
.view-seventh:hover .mask {
 opacity: 1;
 transform: translateY(0px) rotate(0deg);
 transition-delay: 0.4s;
}
.view-seventh:hover h2 {
 transform: translateY(0px);
 transition-delay: 0.7s;
}
.view-seventh:hover p {
 transform: translateY(0px);
 transition-delay: 0.6s;
}
.view-seventh:hover a.info {
 transform: translateY(0px);
 transition-delay: 0.5s;
}
 
Пример 8



В восьмом примере мы будем использовать анимацию и воссоздадим эффект отскока. Описание будет спускаться снизу и отскакивать от нижней границы.
.view-eighth .mask {
 background-color: rgba(255, 255, 255, 0.7);
 top: -200px;
 opacity: 0;
 transition: all 0.3s ease-out 0.5s;
}
.view-eighth h2{
 transform: translateY(-200px);
 transition: all 0.2s ease-in-out 0.1s;
}
.view-eighth p {
 color: #333;
 transform: translateY(-200px);
 transition: all 0.2s ease-in-out 0.2s;
}
.view-eighth a.info {
 transform: translateY(-200px);
 transition:  all 0.2s ease-in-out 0.3s;
}

Мы добавим анимацию для элемента mask и определим некоторые установки задержки для элементов описания:
.view-eighth:hover .mask {
 opacity: 1;
 top: 0px;
 transition-delay: 0s;
 animation: bounceY 0.9s linear;
}
.view-eighth:hover h2 {
 transform: translateY(0px);
 transition-delay: 0.4s;
}
.view-eighth:hover p {
 transform: translateY(0px);
 transition-delay: 0.2s;
}
.view-eighth:hover a.info {
 transform: translateY(0px);
 transition-delay: 0s;
}

Чтобы воссоздать настоящий эффект отскока мы воспользуемся translateY, как вы можете видеть там несколько кадров, которые создают этот эффект:
@keyframes bounceY {
 0% { transform: translateY(-205px);}
 40% { transform: translateY(-100px);}
 65% { transform: translateY(-52px);}
 82% { transform: translateY(-25px);}
 92% { transform: translateY(-12px);}
 55%, 75%, 87%, 97%, 100% { transform: translateY(0px);}
}
 
Пример 9



В этом примере мы будем использовать два элемента mask, чтобы сдвигать их с правого нижнего и с левого верхнего углов:
<div class="view view-ninth">
<img src="images/11.jpg" />
<div class="mask mask-1"></div>
<div class="mask mask-2"></div>
<div class="content">
<h2>Hover Style #9</h2>
<p>Some Text</p>
<a href="#" class="info">Read More</a>
</div>
</div>

Элементы mask будут иметь различные значения translation и transfrom-origin. А также мы укажем что один выровнен по верхней границе, а другой по нижней:
.view-ninth .mask-1,.view-ninth .mask-2{
background-color: rgba(0,0,0,0.5);
height: 361px;
width: 361px;
background: rgba(119,0,36,0.5);
opacity: 1;
transition: all 0.3s ease-in-out 0.6s;
}
.view-ninth .mask-1 {
left: auto;
right: 0px;
transform: rotate(56.5deg) translateX(-180px);
transform-origin: 100% 0%;
}
.view-ninth .mask-2 {
top: auto;
bottom: 0px;
transform: rotate(56.5deg) translateX(180px);
transform-origin: 0% 100%;
}
.view-ninth .content{
background: rgba(0,0,0,0.9);
height: 0px;
opacity: 0.5;
width: 361px;
overflow: hidden;
transform: rotate(-33.5deg) translate(-112px,166px);
transform-origin: 0% 100%;
transition: all 0.4s ease-in-out 0.3s;
}
.view-ninth h2{
background: transparent;
margin-top: 5px;
border-bottom: 1px solid rgba(255,255,255,0.2);
}
.view-ninth a.info{
display: none;
}

При наведении, мы сделаем так, что содержание будет появляться как бы из под двух, съезжающих в центр, элементов mask:
.view-ninth:hover .content{
height: 120px;
width: 300px;
opacity: 0.9;
top: 40px;
transform: rotate(0deg) translate(0px,0px);
}
.view-ninth:hover .mask-1,
.view-ninth:hover .mask-2{
transition-delay: 0s;
}
.view-ninth:hover .mask-1{
transform: rotate(56.5deg) translateX(1px);
}
.view-ninth:hover .mask-2 {
transform: rotate(56.5deg) translateX(-1px);
}

Мы настроили transition-delay для элементов mask таким образом, что, когда мы наводим курсор, переход происходит мгновенно, но при уходе мыши, задержка будет больше.
Пример 10



В последнем примере, мы будем увеличивать изображение, а затем прятать, перенося описание на передний план. Мы можем сделать это, используя шкалу преобразования (scale transform) и настраивая уровень прозрачности:
.view-tenth img {
 transform: scaleY(1);
 transition: all 0.7s ease-in-out;
}
.view-tenth .mask {
 background-color: rgba(255, 231, 179, 0.3);
 transition: all 0.5s linear;
 opacity: 0;
}
.view-tenth h2{
 border-bottom: 1px solid rgba(0, 0, 0, 0.3);
 background: transparent;
 margin: 20px 40px 0px 40px;
 transform: scale(0);
 color: #333;
 transition: all 0.5s linear;
 opacity: 0;
}
.view-tenth p {
 color: #333;
 opacity: 0;
 transform: scale(0);
 transition: all 0.5s linear;
}
.view-tenth a.info {
 opacity: 0;
 transform: scale(0);
 transition: all 0.5s linear;
}

При наведении мы просто масштабируем изображение, а зачем прячем его, уменьшив его прозрачность до 0:
.view-tenth:hover img {
 transform: scale(10);
 opacity: 0;
}
.view-tenth:hover .mask {
 opacity: 1;
}
.view-tenth:hover h2,
.view-tenth:hover p,
.view-tenth:hover a.info{
 transform: scale(1);
 opacity: 1;
}
 
Как передать или получить файл большого размера

Статья будет полезна для пользователей DROPBOX и не только. (Информация с сайта xakep.ru)

Как отправить большую картинку, если ее автор (хозяин) совершенно не знаком с расширением .zip и по E-mail тоже не получится.

Читати далі

Frilanser
Продвижение сайта в ТОП

После того, как вы вложились в  блог или портфолио, сайт визитку или интернет магазин, возникнет второй важный вопрос: сколько времени потребуется на вывод в ТОП. Вопрос очень емкий, неоднозначный и требует много времени и знаний для понимания. Постараюсь ответить кратко. Раскрутку любого вида сайта необходимо начать с определения  конкретного запроса. Определите для себя что-то одно, главное, важное, то, что будет отличимой вашей чертой.  Все, чтобы вы не делали, вы должны делать это ЛУЧШЕ других. Дальше все   зависит от конкурентноспособности вашей индивидуальности. Естественно, более популярные ключевые фразы требуют больше времени. В среднем результативное продвижение сайтов занимает от 3 до 6 месяцев, а затем переходит на этап поддержки результатов.

P/S/Сегодня многие SEO-компании обещают быструю раскрутку сайта, что в дальнейшем может быть чревато санкциями со стороны поисковых систем, т.к. в этом случае, скорее всего, используются черные методы продвижения.

Парк Пушкина. Кафе "Скворечник".
Парк Пушкина. Кафе “Скворечник”.

Хотите побыть скворцом – это просто! Есть такое место! Заходите в парк Пушкина в Киеве и следуйте по знакам-домикам, прикрепленным к деревьям. Как только исчезнут рычащие звуки, которые издает проспект Победы и услышите пение скворцов, аромат зелени и липы… а еще аромат травяного чая с земляникой… занимайте пустой скворечник и укладывайтесь или усаживайтесь поудобнее. Для любителей покачаться: качели, гамаки.  Смею заметить лишь одно, что этот уголок рая рассчитан на тех, кто уже никуда не спешит и готов насладится пением птиц, тишиной, ароматными травяными чаями, фиалковым какао…  Все готовится только для Вас! Но все яства – это вторично, по-сравнению с идеей домиков скворечников для нас 🙂 упитанных скворцов и пресытившихся комфортом,  идея вернуть нас в детство, в “халабудку” из стульев или под деревом в саду, под столом… или залезть высоко на дерево и качаться на ветках… почувствуйте себя ребенком, ведь только детство нам дарит беспричинное счастье!