Привет, друзья. Функция копирования текста или кода в буфер обмена по клику достаточно актуальна и вы наверняка видели её и пользовались. Не нужно выделять копируемый текст мышью, а просто одним кликом на кнопку пользователь может скопировать то, что вы ему предлагаете.
Это скорее всего создаёт большее удобство пользователю. И вы можете по необходимости добавить и на свой блог такую фишку. Вариантов создания такой функции копирования много. Предложу вам самый простой, на мой взгляд.

копирование текста

Посмотрите сразу 2 примера, чтобы увидеть как это происходит на тестовом блоге. Скопируйте содержимое (код или текст нажав на соответствующую кнопку. Затем откройте блокнот, или черновик в блоге (любой редактор) и просто кликом мыши нажмите "ВСТАВИТЬ" или воспользоваться клавишами Ctrl + V на клавиатуре.



Ну и сейчас, как это реализовать на странице, если заинтересовались.

Нам нужен вот такой малюсенький код HTML

<div id=""text1"">Здесь будет  любой текст, код - то что нужно скопировать</div>
<button onclick="copytext('#text1')" id="#knopka">скопировать</button>


И вот такой JS

<script>
function copytext(el) {
  var $tmp = $("<input>");
  $("body").append($tmp);
  $tmp.val($(el).text()).select();
  document.execCommand("copy");
  $tmp.remove();
}</script>


Собственно и всё. Но кнопка в таком скучном варианте (это картинка) , будет выглядеть так

скопировать текст кликом
И чтобы она смотрелась симпатичнее на странице можно задать ей стили CSS, как в примере, который вы видели выше. По желанию подгоните под собственный дизайн. 

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

<div id=""text1"">Здесь будет  любой текст, код - то что нужно скопировать</div>
<button onclick="copytext('#text1')" id="#knopka">скопировать</button>

<script>
function copytext(el) {
  var $tmp = $("<input>");
  $("body").append($tmp);
  $tmp.val($(el).text()).select();
  document.execCommand("copy");
  $tmp.remove();
}</script>

<style>
#knopka {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
cursor:pointer;
  border: 2px solid transparent;
  border-radius: 20px
}

#knopka {
  color: #fffbfb;
  padding: 8px 15px;
  background-color: #00695C;
  border-color: #B2DFDB;
}

#knopka{
  background-color: #00BFA5;
  border-color: #c1bdbd;
  color: #fff;
}

#knopka:hover {
  color: #fff;
  background-color: #00BFA5;
  border-color: #2e6da4
}
</style>

Вот такой, достаточно распространенный вариант, использования копирование контента кликом.

Всем удачи и до встречи.

оформите подписку на новые шпаргалки

введите пожалуйста свой адрес электронной почты :

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

новое в Блоггер

На первый взгляд, как всегда, привычнее кажется старый. Но внешне, обновлённый смотрится более современно. В основном это относится к опции статистики блога.

Что мы видим

1. Число постоянных читателей, общее количество сообщений и комментариев. Полная статистика блога

новое в блоггер

Обратите внимание на круглую стрелочку слева, где можно сразу установить новшество в своей панели администратора.

По статистике всё достаточно понятно. Ниже идёт график посещений с отображаемым количеством просмотров сообщений  и комментариев. Так же есть статистика по страницам.

Если нажать на ссылку подробная статистика , то видим

1. Популярные  URL переходы

2. Главные URL переходы
3. Просмотры страницы по браузерам
4. Просмотры страницы по операционным системам
5. Аудиторию по странам.


И дополнительная статистика в google analytics если это подключено.


Как вам? Всё достаточно понятно, просто, крупным планом, с диаграммами, лаконично и аккуратно. Если пока трудно привыкнуть к новому варианту, всегда можно вернуться к старой версии в самом низу панели администратора.

Ознакомьтесь интереса ради.


оформите подписку на новые шпаргалки

введите пожалуйста свой адрес электронной почты :

Привет, друзья. Как показать всплывающую подсказку с описанием над изображениями при наведении мыши. Обычно на веб странице, при наведении курсора отображается текст "Alt" –  альтернативное описание, которое будет выводиться вместо картинки, если у пользователя не отображаются изображения. Как правило это 1 - 2 слова.

Сделаем так , что при наведении на картинку будет полное описание её. Не будем путать с "Alt". Это может быть просто какая - то информация.



Делается это достаточно просто, всё легко настраиваемое. В самом коде я сделала комментарии ко всем стилям, которые можно подогнать под собственный дизайн.

Посмотрите пример


nome-immagine

Айские притесы — это очень высокие скалы вдоль реки Ай. Это кусочек моей малой Родины. В детстве бегали сюда купаться. Великолепнейшие виды! Протяженность притесов примерно один километр. Это уникальное творение природы.


Готовый код

<style type="text/css">
.imm-tooltip {
position: relative;
margin: 10px auto;
}
.imm-tooltip img {
width:450px; /* ширина */
border:1px dashed #036; /* стили рамки */
background-color:lightyellow; /* фон изображения */
padding:5px;
}
.tooltip {
position: absolute;
width:320px; /* ширина всплывающего описания */
font-size:15px; /* размер шрифта */
font-family: Georgia;
top: 15%;
left: 2%;
filter: alpha(opacity=0);

opacity: 0;
padding: 6px;
text-align:justify; /* выравнивание текста */

color: #fff; /* цвет текста */
background: black; /* фон блока с текстом */
-moz-transition:all ease .5s; /* Длительность Перехода*/
-webkit-transition:all ease .5s ;
transition:all ease .5s;
}
.imm-tooltip:hover .tooltip {
filter: alpha(opacity=70);
opacity: .7; /* Прозрачность при наведении мыши */
}
</style>

<div class="imm-tooltip">
<img alt="айские притёсы" src="адрес вашего изображения" /><span class="tooltip">здесь полное описание картинки
</span></div>


То, что выделено розовым цветом замените на нужные вам - Alt("айские притёсы"), адрес изображения и описание его.

Готовый код с всплывающим описанием у изображения вставляем в редакторе сообщения в нужном месте в режиме HTML.

Всем добра и до встречи.

оформите подписку на новые шпаргалки

введите пожалуйста свой адрес электронной почты :

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

анимированные рамки

Сегодня поколдуем и ёщё сделаем 5 вариантов красивых анимированных рамок с использованием CSS. Все предложенные коды имеют заданную ширину и высоту, цвет, размер шрифта. Если вам вариант подходит сразу копируйте нужный код. При необходимости, вы сможете их поменять на нужные стили. Воспользуйтесь этим редактором.

Давайте смотреть


Рамка 1.

Рамка 1


Код

<div class="ramka-1">Рамка 1</div>

<style>

.ramka-1 {
    position: relative;
    z-index: 0;
    width: 200px;
    height: 200px;
    border-radius: 10px;
    overflow: hidden;
    margin: 30px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;   
}
.ramka-1::before {
    content: '';
    position: absolute;
    z-index: -2;
    left: -50%;
    top: -50%;
    width: 200%;
    height: 200%;
    background-color: #EF6C00;
    background-repeat: no-repeat;
    background-size: 50% 50%, 50% 50%;
    background-position: 0 0, 100% 0, 100% 100%, 0 100%;
    background-image: linear-gradient(#EF6C00, #EF6C00), linear-gradient(#FFE0B2, #FFE0B2), linear-gradient(#EF6C00, #EF6C00), linear-gradient(#FFE0B2, #FFE0B2);
    animation: anim-ramka-1 4s linear infinite;
}
.ramka-1::after {
    content: '';
    position: absolute;
    z-index: -1;
    left: 6px;
    top: 6px;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    background: white;
    border-radius: 5px;
}
@keyframes anim-ramka-1 {
    100% {
        transform: rotate(1turn);
    }
}</style>


 Рамка 2. Большая рамка с ховер-эффектом.

Рамка. Вариант 2

Код

<div class="ramka-2">Рамка. Вариант 2</div>
<style>
.ramka-2{
    width: 200px;
    height: 200px;
    background-color: #FFF;
    position: relative;
    margin: 60px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;
    box-shadow: inset 6px 6px 8px 0 rgba(0,0,0,0.4);
}
.ramka-2:after,
.ramka-2:before {
    mix-blend-mode:multiply;
    filter:none;
    z-index: -1;
    content:'';
    width: calc(100% + 90px);
    height: calc(100% + 90px);
    position: absolute;
    animation: anim-ramka-2 8s ease-in-out infinite;
}
@keyframes anim-ramka-2 {
    0%, 100% {
        clip-path: polygon(0 0, calc(100% - (33px)) calc(0% + (33px)), 100% 100%, calc(0% + (33px)) calc(100% - (33px)));
    }
    50% {
        clip-path: polygon(calc(0% + (33px)) calc(0% + (33px)), 100% 0, calc(100% - (33px)) calc(100% - (33px)), 0 100%);
    }
}
.ramka-2:after{
    animation-delay: -5s;
    background-color: #00796B;
    clip-path: polygon(0 0, calc(100% - (33px)) calc(0% + (33px)), 100% 100%, calc(0% + (33px)) calc(100% - (33px)));
}
.ramka-2:before {
    background-color: #B2DFDB;
    clip-path: polygon(calc(0% + (33px)) calc(0% + (33px)), 100% 0, calc(100% - (33px)) calc(100% - (33px)), 0 100%);
}
.ramka-2:hover:after{
    animation-delay: 1s;
}
.ramka-2:hover:before,
.ramka-2:hover:after {
    animation-duration: 2s;
}
</style>


Рамка 3. Рамка с фиксированным бордюром и плавающей вокруг ещё рамкой.

Рамка. Вариант 3


Код

<div class="ramka-3">Рамка. Вариант 3</div>
<style>
.ramka-3 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 30px auto;
    width: 200px;
    height: 200px;
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;
    box-shadow: inset 0 0 0 2px #1B5E20; 
}
.ramka-3::before,
.ramka-3::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    z-index: -1;
    margin: -5%;
    box-shadow: inset 0 0 0 6px #EF6C00;
    animation: anim-ramka-3 8s linear infinite;
}
.ramka-3::before {
    animation-delay: -4s;
}
.ramka-3:hover::after,
.ramka-3:hover::before {
    background-color: #EF6C00;
}
@keyframes anim-ramka-3 {
    0%, 100% {
        clip: rect(0px, 220px, 6px, 0px);
    }
    25% {
        clip: rect(0px, 6px, 220px, 0px);
    }
    50% {
        clip: rect(218px, 220px, 220px, 0px);
    }
    75% {
        clip: rect(0px, 220px, 220px, 218px);
    }
}</style>


Рамка 4. Этот вариант с изменяющимся свойством border-radius. Он имеет заданную ширину и длину, поэтому их стоит подгонять под размер расположенного в нем контента.


Рамка. Вариант 4

Код

<div class="ramka-4">Рамка. Вариант 4</div>
<style>
.ramka-4 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    margin: 30px auto;
    border: 8px solid #00C853;
    background: #FFF;
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
    box-shadow: 15px 15px 50px rgba(208,255,0,255);
    animation: anim-ramka-4 10s infinite;
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;
}
@keyframes anim-ramka-4 {
    0% {
        border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
        box-shadow: 15px 15px 50px rgba(208,255,0,255);
    }
    25% {
        border-radius: 58% 42% 75% 25%/76% 46% 54% 24%;
    }
    50% {
        border-radius: 50% 50% 33% 67%/55% 27% 73% 45%;
        box-shadow: -10px -5px 50px rgba(208,255,0,255);
    }
    75% {
        border-radius: 33% 67% 58% 42%/63% 68% 32% 37%;
    }
}
</style>


Рамка 5. Бегущие строчки.


Рамка 5

Код

<div class="ramka-5">
Рамка 5</div>
</div>
<style>
.ramka-5-wr {
    width: 200px;
    height: 200px;
    box-sizing: border-box;
    padding: 15px;
    position: relative;
    overflow: hidden;
    margin: 30px auto;

.ramka-5-wr .ramka-5 {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-family: 'Roboto Condensed', sans-serif;   
}
.ramka-5-wr::before {
    content: '';
    position: absolute;
    width: 150%;
    height: 150%;
    background: repeating-linear-gradient(
        #FFF 0%,
        #FFF 7.5px,
        #FF8A65 7.5px,
        #FF8A65 15px,
        #FFF 15px,
        #FFF 22.5px,
        #FF8A65 22.5px,
        #FF8A65 30px);
    transform: translateX(-20%) translateY(-20%) rotate(-45deg);
    animation: anim-ramka-5 20s linear infinite;
}
.ramka-5-wr .ramka-5 {
    position: relative;
    background-color: #FFF;
    flex-direction: column;
    box-sizing: border-box;
    padding: 30px;
    text-align: center;
    font-family: sans-serif;
    z-index: 2;
}
.ramka-5-wr,
.ramka-5-wr .ramka-5 {
    box-shadow: 0 0 2px #FF7043, 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 5px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
}
@keyframes anim-ramka-5 {
    from {
        background-position: 0;
    }
 
    to {
        background-position: 0 450px;
    }
}</style>


Код любой готовой рамки устанавливаем в сообщении в режиме HTML. У кого появятся вопросы пишите в комментариях. Разберёмся. 

оформите подписку на новые шпаргалки

введите пожалуйста свой адрес электронной почты :

Привет, друзья. И очередная карта сайта для вас сегодня. Лежит она у меня в "закромах" уже давно, и вот случайно наткнулась на забытое старое. Возможно, кому - нибудь, именно такая придётся по вкусу. Данная  карта блога оформлена в стиле "аккордеон".

Что мы будем иметь в такой карте -

С левой стороны отображаются все ярлыки (рубрики, разделы).
При нажатии на стрелку справа, открываются все посты данного ярлыка.
Настроен лейбл - новое сообщение.
Лёгкая настройка дизайна под ваши стили.
Простая установка на странице.



карта блога

Для просмотра рабочего варианта, перейдите на тестовый блог.



Код

<style scoped="" type="text/css">
.table-of-content{background-color:#008B8B;color:#444;font-family:Verdana,Geneva,Tahoma,Arial,Sans-serif;font-size:13px;font-weight:400;overflow:hidden;border-radius:4px;box-shadow:0 0 10px rgba(0,0,0,.2)}
.table-of-content .toc-header{color:#444;font-family:inherit;font-weight:400;font-size:14px;background-color:#fff;margin:0;padding:15px;overflow:hidden;cursor:pointer;border-bottom:1px solid #ccc;transition:initial}
.table-of-content .toc-header:hover{background-color:#fdfdfd}
.table-of-content .toc-header:before{content:'';width:0;height:0;position:absolute;top:22px;right:15px;border:5px solid transparent;border-color:#aaa transparent transparent;transition:all .3s ease}
.table-of-content .toc-header.active{color:#fc4f3f}
.table-of-content .toc-header.active:before{border-color:#666 transparent transparent;top:16px;-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg)}
.table-of-content .loading{display:block;padding:15px;text-decoration:blink}
.table-of-content ol{margin:0;padding:0;list-style:none;transition:initial}
.table-of-content li{line-height:normal!important;margin:0!important;padding:8px 8px 8px 15px!important;white-space:nowrap;text-align:left;overflow:hidden;background:#808080!important;transition:initial}
.table-of-content a{color:#d9d9d9!important;text-decoration:none;font-size:86%;transition:initial}
.table-of-content a:visited{color:#a2a2a9;transition:initial}
.table-of-content a:hover,.table-of-content a:visited:hover{color:#ffc937!important;text-decoration:none;transition:initial}
.post ol li:before{display:none}
</style>
<div class="table-of-content" id="table-of-content">
<span class="loading">Загрузка...</span></div>
<script>
var toc_config = {
    url: "https://"+window.location.hostname,
    containerId: 'table-of-content',
    showNew: 15,
    newText: ' <strong style="font-weight:normal;font-style:normal;color:#fff;font-size:11px;background:#5c5a78;padding:1px 6px 3px 6px;line-height:normal;float:right;border-radius:3px;">новое</strong>',
    sortAlphabetically: {
        thePanel: true,
        theList: true
    },
    maxResults: 9999,
    activePanel: 1,
    slideSpeed: {
        down: 400,
        up: 400
    },
    slideEasing: {
        down: null,
        up: null
    },
    slideCallback: {
        down: function() {},
        up: function() {}
    },
    clickCallback: function() {},
    jsonCallback: '_toc',
    delayLoading: 0
};
</script>
<script>
!function(e,o){var t=o.getElementById(toc_config.containerId),c=o.getElementsByTagName("head")[0],n=[];e[toc_config.jsonCallback]=function(e){for(var o,c,i=e.feed.entry,a=e.feed.category,l="",s=0,d=a.length;d>s;++s)n.push(a[s].term);for(var r=0,f=i.length;f>r;++r)(toc_config.showNew||toc_config.showNew>0)&&r<toc_config.showNew+1&&(i[r].title.$t+=" %new%");i=toc_config.sortAlphabetically.theList?i.sort(function(e,o){return e.title.$t.localeCompare(o.title.$t)}):i,toc_config.sortAlphabetically.thePanel&&n.sort();for(var g=0,h=n.length;h>g;++g){l+='<h3 class="toc-header">'+n[g]+"</h3>",l+='<div class="toc-content"><ol>';for(var _=0,p=i.length;p>_;++_){o=i[_].title.$t;for(var w=0,u=i[_].link.length;u>w;++w)if("alternate"==i[_].link[w].rel){c=i[_].link[w].href;break}for(var v=0,m=i[_].category.length;m>v;++v)n[g]==i[_].category[v].term&&(l+='<li><a href="'+c+'">'+o.replace(/ \%new\%$/,"")+"</a>"+(o.match(/\%new\%/)?" "+toc_config.newText:"")+"</li>")}l+="</ol></div>"}t.innerHTML=l,"undefined"!=typeof jQuery&&($("#"+toc_config.containerId+" .toc-content").hide(),$("#"+toc_config.containerId+" .toc-header").click(function(){$(this).hasClass("active")||(toc_config.clickCallback(this),$("#"+toc_config.containerId+" .toc-header").removeClass("active").next().slideUp(toc_config.slideSpeed.up,toc_config.slideEasing.up,toc_config.slideCallback.up),$(this).addClass("active").next().slideDown(toc_config.slideSpeed.down,toc_config.slideEasing.down,toc_config.slideCallback.down))}).eq(toc_config.activePanel-1).addClass("active").next().slideDown(toc_config.slideSpeed.down,toc_config.slideEasing.down,toc_config.slideCallback.down))};var i=o.createElement("script");i.src=toc_config.url.replace(/\/$/,"")+"/feeds/posts/summary?alt=json-in-script&max-results="+toc_config.maxResults+"&callback="+toc_config.jsonCallback,"onload"==toc_config.delayLoading?e.onload=function(){c.appendChild(i)}:e.setTimeout(function(){c.appendChild(i)},toc_config.delayLoading)}(window,document);
</script>


Можете сразу скопировать код целиком. Зайдите в админпанель блога - вкладка страницы - создать страницу. Сразу перейдите в редакторе страницы в режим HTML, вставьте скопированный код и опубликуйте.

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

Быстро, просто, удобно, красиво.

Всем желаю удачи и до встречи.

оформите подписку на новые шпаргалки

введите пожалуйста свой адрес электронной почты :

Пользовательский поиск