» » >

Улучшаем восприятия функции Капчи uCoz

28.09.2013, 17:23

И так начнём наш с вами разбор полётов, в функции добавления комментария ucoz, для начало нам следует установить системную переменную которая отвечает за вывод капчи:


$SECURITY_CODE$

теперь давайте посмотрим на исходных код на странице с добавлением комментария:


<input class="securityCode" name="code" size="7" maxlength="6" style="padding: 4px; font-size: 20px;" type="text">
  <input name="seckey" value="7833866941497361519" type="hidden">
  <img alt="" style="margin: 0pt; padding: 0pt; border: 0pt none; cursor: pointer; vertical-align: top;" id="secuImgC" title="Обновить код безопасности" onclick="this.src='http://demo-dm.ucoz.ru/secure/?k=7833866941497361519;m=addcom59088503;tm='+Math.random();" src="http://demo-dm.ucoz.ru/secure/?k=7833866941497361519;m=addcom59088503;tm=1334565466" align="absmiddle">  
  <img alt="" src="http://s59.ucoz.net/img/ma/refresh.gif" style="cursor: pointer;" onclick="document.getElementById('secuImgC').src='http://demo-dm.ucoz.ru/secure/?k=7833866941497361519;m=addcom59088503;tm='+Math.random();" title="Обновить код безопасности" border="0" align="absmiddle">

и что мы с вами видим, код, код и ещё раз код, но в данном коде нам с вами необходимы два значения:

class="securityCode" - класс поля для ввода символов капчи
id="secuImgC" - идентификатор изображение капчи

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

И так для того чтобы у нас с вами всё получилось, нам следует поместить системную переменную капчи в контейнер div, с нужным нам идентификатором id="panel_bottom":


<div id="panel_bottom">$SECURITY_CODE$</div>

а теперь приступим к css стилям, спрячем с глаз долой все изображения в данном ячейки div:


#panel_bottom img {
  display:none; /* - удаляем элемент из документа */  
}

как вы понимаете мы также спрятали и само изображения капчи, но нам на помощь приходит идентификатор id="secuImgC" которому мы пропишем следующие значения:


#secuImgC {
  margin:0!important; /* - запрещаем внешние отступы */  
  float:left!important; /* - выравниваем элемент */  
  display:inline!important; /* - элемент отображается как встроенный */  
  border: 1px solid #E0E0E0!important; /* - рамка вокруг изображения */  
}

отлично, теперь займёмся самим полем капчи и пропишем классу class="securityCode" следующие стили:


.securityCode {
  color:#777!important; /* - цвет текста */  
  margin:0!important; /* - запрещаем внешние отступы */  
  float:left!important; /* - выравниваем элемент */  
  height:25px!important; /* - прописываем высоту поля с учётом внутренний отступов в 5px */  
  padding: 5px 5px 5px 5px!important; /* - внутренние отступы */  
  background:#f9f9f9!important; /* - фон поля */  
  border: 1px solid #E0E0E0!important; /* - рамка вокруг изображения */  
  border-right:none!important; /* - запрещаем отображение правой линии рамки */  
}

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

пример капчи ucoz по мнению CDM

Теперь пожеланию мы можем добавить псевдо-класс :focus, для отображение тени в поле капчи:


/* - добавляем внутреннюю тень поля */  
.securityCode:focus {
  box-shadow:inset 0px 1px 3px #c3c3c3!important;
  -webkit-box-shadow:inset 0px 1px 3px #c3c3c3!important;
  -moz-box-shadow:inset 0px 1px 3px #c3c3c3!important;
}

и так разбор полётов почти закончен, но я считаю, что его следует дополнить кнопкой добавить комментарий и так в html код к системной переменной вывода капчи, мы добавляем кнопку с прописанным классом class="kn_dobavit":


<div id="panel_bottom">
  $SECURITY_CODE$
  <input type="submit" class="kn_dobavit" name="submit" value="Добавить комментарий">
</div>

Теперь давайте пропишем следующие css стили:


.kn_dobavit {
  font:11px Verdana,Arial,Helvetica, sans-serif; /* - шрифт и его размер */  
  text-shadow: 1px 1px 1px #333; /* - тень у текста */  
  float:right!important; /* - выравниваем элемент */  
  color:#fff!important; /* - цвет текста */  
  margin:0!important; /* - запрещаем внешние отступы */  
  height:37px!important; /* - прописываем высоту поля с учётом внутренний отступов в 5px */  
  padding: 0px 10px 0px 10px!important; /* - внутренние отступы */  
  background:#535B64!important; /* - фон поля */  
  border: 4px solid #DFDFDF!important; /* - рамка вокруг изображения */  
}  

.kn_dobavit:hover {
  background:#3E444B!important; /* - фон поля */  
}

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


/* Разбор палётов (КАПЧА)
------------------------------------------*/  
#panel_bottom img {
  display:none; /* - удаляем элемент из документа */  
}

#secuImgC {
  margin:0!important; /* - запрещаем внешние отступы */  
  float:left!important; /* - выравниваем элемент */  
  display:inline!important; /* - элемент отображается как встроенный */  
  border: 1px solid #E0E0E0!important; /* - рамка вокруг изображения */  
}

.securityCode {
  color:#777!important; /* - цвет текста */  
  margin:0!important; /* - запрещаем внешние отступы */  
  float:left!important; /* - выравниваем элемент */  
  height:25px!important; /* - прописываем высоту поля с учётом внутренний отступов в 5px */  
  padding: 5px 5px 5px 5px!important; /* - внутренние отступы */  
  background:#f9f9f9!important; /* - фон поля */  
  border: 1px solid #E0E0E0!important; /* - рамка вокруг изображения */  
  border-right:none!important; /* - запрещаем отображение правой линии рамки */  
}

/* - добавляем внутреннюю тень поля */  
.securityCode:focus {
  box-shadow:inset 0px 1px 3px #c3c3c3!important;
  -webkit-box-shadow:inset 0px 1px 3px #c3c3c3!important;
  -moz-box-shadow:inset 0px 1px 3px #c3c3c3!important;
}  

/* - кнопка добавить комментарий */  
.kn_dobavit {
  font:11px Verdana,Arial,Helvetica, sans-serif; /* - шрифт и его размер */  
  text-shadow: 1px 1px 1px #333; /* - тень у текста */  
  float:right!important; /* - выравниваем элемент */  
  color:#fff!important; /* - цвет текста */  
  margin:0!important; /* - запрещаем внешние отступы */  
  height:37px!important; /* - прописываем высоту поля с учётом внутренний отступов в 5px */  
  padding: 0px 10px 0px 10px!important; /* - внутренние отступы */  
  background:#535B64!important; /* - фон поля */  
  border: 4px solid #DFDFDF!important; /* - рамка вокруг изображения */  
}  

.kn_dobavit:hover {
  background:#3E444B!important; /* - фон поля */  
}
Примечания:

В данном css коде я использовал значения !important; так как:

- во-первых, в html коде капчи администраторы uCoz вписали свои css стили
- во-вторых, в шаблон сайта автоматически прописывается ссылка на системный css стили uCoz, которые мы не можем удалить.

Также в данном примере я использовал стандартный Тип кода безопасности.

Надеюсь многие из вас сделают для себя определённые выводы из данного разбора полётов, спасибо за внимание!

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