» »

Стильное меню в разработке CSS3 и jquery для uCoz


Если у вас сайт изначально не ординарный, то Стильное меню в разработке CSS3 и jquery для uCoz подойдет вам как не когда, своим решением. Это вам кажется что цветные квадраты, но там вы можете написать по теме. И пользователь нажимает на его и не куда не перейдет, а просто откроется окно в таком же оттенке цвета, и вот там может написано что угодно и поставлена ссылка, да не одна, которая и приведет к самому материалу. Да, сильно закручено по своим функциям но безусловно на самом ресурсе, это что то будет новое. 

 В данной не большой статье я вам хочу предоставить один интересный скрипт а точнее оригинально и не простое меню для сайтов uCoz. Данное меню будет выводиться в виде цветной сетки составляющая из себя не большие блоки. Меню оригинально тем что при клике по одному из блоков будет раскрываться окно но всю область рамки с описанием того что вы укажете . Конечно данное решение можно использовать не только под меню но и другие нужды вашего сайта, тут можно ограничится только вашей фантазией. Данное меню хорошо тем что оно полностью работает на CSS3 стилях и на jquery скрипте .

И так давайте установим данный скрипт на ваш сайт .

В первую очередь установите ниже приведённый код в то место на сайте где вы желаете видеть этот скрипт меню .

Код
<ul class="menu">
  <li tabindex="1">
  <span class="title">One</span>  
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">
  <span class="title">Two</span>  
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">
  <span class="title">Three</span>  
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">
  <span class="title">Four</span>  
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">
  <span class="title">Five</span>  
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">
  <span class="title">Six</span>  
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">  
  <span class="title">Seven</span>
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">  
  <span class="title">Eight</span>
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>
  <li tabindex="1">  
  <span class="title">Nine</span>
  <div class="content">Пример реализации интересного меню с его описанием для вашего сайта, что бы выглядеть современно и не стандартно.</div>
  </li>  
  </ul>
  

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

Код
<script>
  (function(){
   
  // Append a close trigger for each block
  $('.menu .content').append('<span class="close">x</span>');  
  // Show window
  function showContent(elem){
  hideContent();
  elem.find('.content').addClass('expanded');
  elem.addClass('cover');  
  }
  // Reset all
  function hideContent(){
  $('.menu .content').removeClass('expanded');
  $('.menu li').removeClass('cover');  
  }
   
  // When a li is clicked, show its content window and position it above all
  $('.menu li').click(function() {
  showContent($(this));
  });  
  // When tabbing, show its content window using ENTER key
  $('.menu li').keypress(function(e) {
  if (e.keyCode == 13) {  
  showContent($(this));
  }
  });

  // When right upper close element is clicked - reset all
  $('.menu .close').click(function(e) {
  e.stopPropagation();
  hideContent();
  });  
  // Also, when ESC key is pressed - reset all
  $(document).keyup(function(e) {
  if (e.keyCode == 27) {  
  hideContent();
  }
  });
   
  })();
  </script>

Далее мы прописываем стили данного скрипта при помощи которых вы можете настраивать данное меню как вам этого захочется. Скопируйте код стилей ниже и добавьте в самый низ стилей вашего сайта и сохраните их.

Код
.menu{
  width: 620px;
  margin: 100px auto; padding: 15px;  
  list-style: none;
  counter-reset: li;
  background: #eee;
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.menu:before,
.menu:after {
  content: "";
  display: table;
}

.menu:after {
  clear: both;
}

.menu {
  zoom:1;
}

/* -------------------------------- */  

.menu li {
  position: relative;
  float: left;
  cursor: pointer;
  height: 120px; width: 200px;
  margin: 10px 0 0 10px;
  color: #fff;
}  

.menu li:hover, .menu li:focus{
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.2)), to(rgba(255,255,255,0)));
  background-image: -webkit-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -moz-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -ms-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -o-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
}

.menu .cover{
  z-index: 2;
}

.menu .cover:focus{
  outline: 0;
}

/* -------------------------------- */

.menu li::after{
  content: counter(li);
  counter-increment: li;
  font: italic bold 10px serif, georgia;
  position: absolute;
  color: rgba(255,255,255,.1);
  opacity: 0;
  -webkit-transition: all .2s ease-out;
  -moz-transition: all .2s ease-out;
  -ms-transition: all .2s ease-out;  
  -o-transition: all .2s ease-out;  
  transition: all .2s ease-out;  
}  

.menu li:hover::after, .menu li:focus::after{
  font-size: 100px;
  opacity: 1;  
}

.menu .cover::after{
  z-index: -1;
}

/* -------------------------------- */  

.menu li:nth-child(1),
.menu li:nth-child(2),
.menu li:nth-child(3){
  margin-top: 0;
}

.menu li:nth-child(1),
.menu li:nth-child(4),
.menu li:nth-child(7){
  margin-left: 0;  
}

/* -------------------------------- */  

.menu li:nth-child(1),
.menu li:nth-child(1) .content,
.menu li:nth-child(1) .close{
  background-color: #2c618f;
}  

.menu li:nth-child(2),
.menu li:nth-child(2) .content,
.menu li:nth-child(2) .close{
  background-color: #91ab31;  
}  

.menu li:nth-child(3),
.menu li:nth-child(3) .content,
.menu li:nth-child(3) .close{
  background-color: #714a28;  
}

.menu li:nth-child(4),
.menu li:nth-child(4) .content,
.menu li:nth-child(4) .close{
  background-color: #e58600;  
}

.menu li:nth-child(5),
.menu li:nth-child(5) .content,
.menu li:nth-child(5) .close{
  background-color: #c33a00;
}

.menu li:nth-child(6),
.menu li:nth-child(6) .content,
.menu li:nth-child(6) .close{
  background-color: #7f5dac;
}

.menu li:nth-child(7),
.menu li:nth-child(7) .content,
.menu li:nth-child(7) .close{
  background-color: #5672b7;  
}

.menu li:nth-child(8),
.menu li:nth-child(8) .content,
.menu li:nth-child(8) .close{
  background-color: #69003f;
}

.menu li:nth-child(9),
.menu li:nth-child(9) .content,
.menu li:nth-child(9) .close{
  background-color: #393043;
}

/* -------------------------------- */

.menu .content{
  opacity: 0; display: none\9;
  overflow: hidden;
  font: 12px Arial, Helvetica;
  position: absolute;
  height: 120px; width: 200px; /* Ideally: height: 100%; width: 100%; but works at it should just in FF */
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;  
  -o-transition: all .3s ease-out;  
  transition: all .3s ease-out;  
}  

.menu .expanded{
  opacity: .95; display: block\9;
  overflow: visible;
  padding: 40px;
  height: 300px; width: 540px; /* Cover the entire area */
}

.menu li:nth-child(3n) .content{ /* 3,6,9 */
  right: 0;
}

.menu li:nth-child(3n-1) .expanded{ /* 2,5,8 */
  left: 50%;
  margin-left: -310px;
}

.menu li:nth-child(7) .content, /* 7,8,9 */
.menu li:nth-child(8) .content,
.menu li:nth-child(9) .content{
  bottom: 0;
}  

.menu li:nth-child(4) .expanded, /* 4,5,6 */
.menu li:nth-child(5) .expanded,
.menu li:nth-child(6) .expanded{
  margin-top: -190px;
  top: 50%;
}  

/* -------------------------------- */  

.menu .title{
  position: absolute;
  height: 100%; width: 100%;
  text-align: center;
  font: italic bold 1em/120px 'trebuchet MS', Arial, helvetica;
  opacity: .2;
}

.menu li:hover .title{
  opacity: .7;
}  

/* -------------------------------- */

.menu .close {
  display: none;
  border: 5px solid #fff;
  color: #fff;
  cursor: pointer;
  height: 40px; width: 40px;
  font: bold 20px/40px arial, helvetica;
  position: absolute;
  text-align: center;
  top: -20px; right: -20px;
  -moz-border-radius: 40px;
  -webkit-border-radius: 40px;
  border-radius: 40px;  
}

.menu .cover .close{
  display: block;
}

После полной установки у вас будет меню как на демонстрационной версии. 

07.10.2015 Просмотров: 513 Комментарий: (10)

Поделиться в социальных сетях

Материал разместил

Комментарий: 10
Сопрано
Сопрано 07.10.2015 23:121
0
Вообще не представляю, куда можно на сайт поставить, такие кнопки.
Canon
Canon 07.10.2015 23:172
0
Trantel, что тв хотел его поставить к примеру на такой дизайн. Сейчас на системе такие шаблоны есть, можно даже зайти на официальные сайт и увидеть. Что ты прокручиваешь вниз и с доку выплывают разделы, вот для таких сайтов оно и создано а не простых пабликов.
Kosten
Kosten 07.10.2015 23:193
0
Canon, это только для оригинальных ресурсов, как правильно вы сказали. И там такой скрипт будет как по теме так и по дизайну и функционален и будет работать.
AnTron
AnTron 07.10.2015 23:254
0
Сразу извиняюсь, но не думаю у кого такой сайт, он заходит на такие ресурсы.
Kosten
Kosten 07.10.2015 23:295
0
AnTron, давайте смотреть шире а не одно DEMO, про то что сам код вообще кто то смотреть. Вы видите что он также поделен на кубики, так скажем. И из этого можно сделать вид, что один из них можно поставить и на такой дизайн.
Сопрано
Сопрано 07.10.2015 23:306
0
Kosten, буду судить по себе, из одного раздела не ставил бы кучу скриптов.
AnTron
AnTron 07.10.2015 23:327
0
Kosten, здесь есть логика ваших словах. Но давайте посмотрим, на простого пользователя, тот кто только знает как поставить скрипт на сайт, а стили ему подсказывают. Но возможно скрипт он отделить а дальше встанет на ручник.
Kosten
Kosten 07.10.2015 23:368
0
Отвечу сразу всем, вы где то правы и не поспоришь, но для чего на форуме создана категория Помощь по сайту uCoz вот как раз под это, и кто обращался, всегда отвечали, кто в курсе, просто люди помогают друг другу, и в этом вижу только хорошее.
AnTron
AnTron 07.10.2015 23:499
0
Но вам видней, нужно просто в описание все четко прописывать, хотя видно понятным языком изложено. Но все равно появятся такие личности, что самому нужно будет устанавливать.
Kosten
Kosten 07.10.2015 23:5310
0
AnTron, по этому поводу у меня нет такого, что вам предоставил а там решайте как можете. Бывало и целый шаблон устанавливал, спасибо не сказали а сказали, вот развел, мне лень было и за меня все сделали. Не когда не в огорчение за это, так как от души все делал, месяца не прошло и и опять просьба, уже на другой сменить, не чего не грубил, а сказал, что некогда. Это же интернет и опускаться до инетовского пантореза не собираюсь.
avatar