» » >

Смайлы и BB код в форме добавление комментариев
·
28.09.2013, 21:45

Здравствуйте дорогие читатели моего блога, в данном решении мы будем создавать в форме добавление комментариев, ячейки с выпадающими смайлами и bb кодами, подобное решение вы могли видеть на сайте В Контакте, но в отличии от него, мы будем реализовывать данное решение только благодаря css стилям.

Шаг 1 - Установим HTML:

Для начало давайте установим каркас, для этого заходим в Админ панель => Дизайн => Управление дизайном => Комментарии => Форма добавления комментариев удаляем старый html код и устанавливаем следующий:

HTML

<!-- Форма комментарий -->  
<div class="forma_comment left">
  <div class="comment_os">  

  <div class="menu_n sm_1">
  <a href="#" ><img alt="smail" src="http://ucoz-helper.ucoz.com/forma-comment/smail.gif"></a>
  <div class="dd_menu_sm"><span class="dd_ugol1"></span>  
  <script type="text/javascript" src="http://ucoz-helper.ucoz.com/forma-comment/smile.js"></script>
  <a class="link_sm right" href="javascript://" rel="nofollow" onclick="new _uWnd('Sml',' ',-250,-350,{autosize:0,closeonesc:1,resize:0},{url:'/index/35-1-0'});return false;">Ещё смайлы </a>  
  </div>
  </div>  
if($BBCODES$)?>
  <div class="menu_n sm_2">
  <a href="#" ><img alt="bb code" src="/img/sm_bb.png"></a>
  <div class="dd_menu_bb"><span class="dd_ugol2"></span>  
  <a href="javascript://" onclick="simpletag('b')" title="Жирный">B</a>  
  <a href="javascript://" onclick="simpletag('i')" title="Курсив" class="panel_i" >i</a>  
  <a href="javascript://" onclick="tag_url('message','')" title="Добавить ссылку">http:</a>  
  <a href="javascript://" onclick="tag_image()" title="Добавить Картинку">img</a>  
  <a href="javascript://" onclick="simpletag('quote')" title="Цитата">Цитата</a>  
  <a href="javascript://" onclick="simpletag('code')" title="Вставить html-css код" class="panel_code" >Сode</a>  
  <a href="javascript://" class="panel_close" onclick="closeall('message','');" title="Закрыть все BB-коды">Close-BB</a>  
  <a href="javascript://" onclick="window.open('/index/17','bbcodes','scrollbars=1,width=550,height=450,left=0,top=0');" class="panel_info" >Справка</a>  
  $BBCODES$
  </div>
  </div>
endif?>  
   
  <textarea style="height:120px;" rows="8" name="message" id="message" cols="50">$MESSAGE$</textarea>  
  </div>  

if(!$USER_LOGGED_IN$)?>  
  <input class="comm_input left" type="text" name="name" value="Имя" onclick="if (this.value=='Имя'){this.value='';}" size="30" maxlength="60">
  <input class="comm_input right" type="text" name="email" value="E-mail" onclick="if (this.value=='E-mail'){this.value='';}" size="30" maxlength="60">
endif?>  

  if($ERROR$)?><div class="panel_error left">$ERROR$</div>endif?>  
  <div class="panel_bottom left">  
  $SECURITY_CODE$
  <input type="submit" class="kn_dobavit right" name="submit" value="Добавить комментарий">
  </div>  
</div>  
<!-- /Форма комментарий -->  
Шаг 2 - Установим CSS:

Теперь для правильного отображение формы добавление комментарий пропишем следующие css стили:

CSS-Code

/* Выпадающие смайлы
------------------------------------------*/  
.menu_n {  
  display:block;  
  position:absolute;  
}

.sm_1 {top:5px;left:10px;}
.sm_2 {top:7px; left:35px;}

.dd_menu_sm,
.dd_menu_bb {
  float:left;  
  padding:7px;  
  left:-999em;  
  z-index:998;  
  background:#fff;  
  position:absolute;  
  border:1px solid #999;  
  -webkit-border-radius:3px;  
  -moz-border-radius:3px;  
  border-radius:3px;  
  box-shadow: 0px 0px 5px #c4c4c4;  
}  
   
.dd_menu_sm {margin: 0px 0px 0px -5px;}  
.dd_menu_bb {margin: -2px 0px 0px -30px;}  

.dd_ugol1,
.dd_menu_sm {width:240px;}  

.dd_ugol2,
.dd_menu_bb {width:500px;}  

.dd_ugol1,
.dd_ugol2 {  
  float:left;  
  height:25px;  
  top:-25px;  
  position:absolute;  
  background:url(http://ucoz-helper.ucoz.com/forma-comment/fon_ugol_1.png) no-repeat center bottom;  
}

.dd_ugol1 {right:119px;}
.dd_ugol2 {right:223px;}

.menu_n:hover .dd_menu_sm,
.menu_n:hover .dd_menu_bb {
  top:30px;  
  left:0px;  
  right:auto;  
}

.link_sm {margin: -18px 5px 0px 0px;}

/* Вид Панели BB-кодов
------------------------------------------*/  
.dd_menu_bb a:link,
.dd_menu_bb a:visited {
  float:left;  
  padding: 3px 10px 4px 10px;
  margin: 0px 5px 0px 0px;  
  background:#F6F6F6;  
  cursor:pointer;
  border:1px solid #B2B2B2;  
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;  
  font: 10px Verdana,Arial,Helvetica, sans-serif; color:#555; text-shadow: 1px 1px 1px #fff;  
}

.dd_menu_bb a:hover {background:#fff;}

.panel_i {font-style:italic!important; }
.panel_u {text-decoration: underline!important; }
.panel_info {float:right!important; margin: 0px!important;}

/* Разбор палётов (КАПЧА)
------------------------------------------*/  
.dd_menu_bb .codeButtons,
.panel_bottom img {
  display:none;  
}

#secuImgC {
  margin:0!important;  
  float:left!important;  
  display:inline!important;
  border:1px solid #CAD1DB!important;  
}

.securityCode {
  color:#777!important;  
  margin:0!important;  
  float:left!important;  
  height:25px!important;  
  background:#f9f9f9!important;  
  border:1px solid #CAD1DB!important;
  border-right:none!important;  
}

/* кнопка добавить комментарий */  
.kn_dobavit {
  cursor:pointer;
  height:37px;  
  border:1px solid #72b837!important;  
  color:#236114!important;  
  text-shadow:1px 1px 1px #d7ffb6!important;  
  background: #9aeb56!important;  
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #9aeb56), color-stop(1, #7ecb3d))!important;  
  background: -moz-linear-gradient(top, #9aeb56 1%, #7ecb3d 100%)!important;  
  background: -o-linear-gradient(#9aeb56, #7ecb3d)!important;  
}

.kn_dobavit:active {
  -webkit-box-shadow:inset 0px 0px 3px #5b9728!important;  
  -moz-box-shadow:inset 0px 0px 3px #5b9728!important;  
  box-shadow:inset 0px 0px 3px #5b9728!important;  
}

.kn_dobavit:hover {
  background:#aff278!important;  
}

/* Дополнение */  
.left {float:left; /* выравнивание элемента по левому краю страницы */}
.right {float:right; /* выравнивание элемента по правому краю страницы */}

/* Фон полей при нажатии */  
.dd_menu_bb a:focus,
.securityCode:focus,
.comm_input:focus,
.forma_comment textarea:focus {
  -webkit-box-shadow:inset 0px 1px 3px #c3c3c3!important; /* Тень в браузоре Chrome и Safari верх-право-низ-лево */
  -moz-box-shadow:inset 0px 1px 3px #c3c3c3!important; /* Тень в браузоре Firefox верх-право-низ-лево */
  box-shadow:inset 0px 1px 3px #c3c3c3!important; /* Тень в CSS3 верх-право-низ-лево */  
}  
.forma_comment input {padding: 5px 10px!important;}  

/* Прозрачность */  
.forma_comment a:hover img {
  filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

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

На этом всё, спасибо за внимание!

Категория: Форма комментарий | Добавил: tashkent97
Просмотров: 1347 | Загрузок: 324 | Источник: center-dm.ru | Рейтинг: 5.0/1
Всего комментариев: 0
dth="100%" cellspacing="1" cellpadding="2" class="commTable">
Имя *: Email:
Яндекс.Метрика Яндекс цитирования<