Показаны сообщения с ярлыком css. Показать все сообщения
Показаны сообщения с ярлыком css. Показать все сообщения

пятница, 4 апреля 2008 г.

День вебмастера!

Сегодня замечательная дата для тех, кто проводит своё время за вёрсткой сайтов! 4 апреля, а если циферками, то 404 :) Поздравляю всех коллег по цеху - профессионалов и любителей с нашим праздником!
Да сверстаются все страницы ваши по воле вашей, да убоится вас HTML с CSS-ом и пусть Ослик смирится и поймёт код ваш так, как сказано в скрижалях W3C, а не так, как решил создатель его - презренный Билли! И да прибудет с вами дух Огненной Лисы!
Ура! И трижды ура тому, что в этом году 404 совпал с пятницей ;)

среда, 22 августа 2007 г.

Как вертикально выровнять checkbox-ы и текст в label-ах

Задача такова: необходимо выстроить checkbox-ы горизонтально в ряд, обеспечить включение и выключение checkbox-а щелчком на соответствующем label и вертикально выровнять checkbox-ы и label-ы относительно друг-друга. Конечно можно ничего не варавнивать и оставить checkbox-ы и label-ы болтаться в воздухе. Но, согласитесь, что если мы делаем серьёзный сайт, то вопрос о его эстетической стороне оказывается далеко не на последнем месте. Вот о checkbox-овой эстетике мы сегодня и поговорим. Итак, начали.
Во-первых поместим наши checkbox-ы в список:

<div id="CheckboxesLine">
<ul>
<li><label>Select plz:</label></li>
<li><input type="checkbox" id="CB1" /><label for="CB1">Checkbox 1</label></li>
<li><input type="checkbox" id="CB2" /><label for="CB2">Checkbox 2</label></li>
<li><input type="checkbox" id="CB3" /><label for="CB3">Checkbox 3</label></li>
<li><input type="checkbox" id="CB4" /><label for="CB4">Checkbox 4</label></li>
<li><input type="checkbox" id="CB5" /><label for="CB5">Checkbox 5</label></li>
<li><input type="checkbox" id="CB6" /><label for="CB6">Checkbox 6</label></li>
</ul>
</div>

Далее пропишем вот такие стили:

#CheckboxesLine ul {
white-space:nowrap;
padding: 0;
margin: 0;
font-family: Verdana;
font-size: 0.7em;
}
#CheckboxesLine ul li {
display: inline;
white-space:nowrap;
}
#CheckboxesLine ul li label {
vertical-align:middle;
padding-right: 20px;
}
#CheckboxesLine ul li input {
margin-bottom: auto;
vertical-align:middle;
}
#CheckboxesLine ul li:first-child label{
padding-right: 0;
}

Вот и всё. Теперь и в IE, и в FF, и в Opera наши checkbox-ы будут выглядеть одинаково.

пятница, 17 августа 2007 г.

HTML & JavaScript: Как сделать свои radiobutton при помощи AJAX

Вас устраивают стандартные радиокнопки? Если также, как и меня-нет, то вот простое решение-заменим их на картинки. Это позволит нам с лёгкостью подгонять радиокнопки под любой дизайн сайта. Ну что, поехали:

<script language="javascript">
// Эту функцию я использую всегда во всех скриптах.
// Она решает вопрос поиска объекта по id во всех броузерах.
function getElement(aID){
return (document.getElementById) ? document.getElementById(aID) : document.all[aID];
}
function SwitchRadio(liObj,Id){
// Получаем id нужного списка радиокнопок <ul>
var ulName=liObj.parentNode.id;
// Получаем массив со всеми элементами <li>, входящими в наш список
var orderedNodes = getElement(ulName).getElementsByTagName("li");
// Переключаем все кнопки в положение "выключено"
for (i=0; i<orderedNodes.length; i++){
orderedNodes[i].style.background="url(images/radio_off.gif) 0 2px no-repeat";
}
// Теперь включаем нашу кнопку...
liObj.style.background="url(images/radio_on.gif) 0 2px no-repeat";
// ...и передаём через ajaxagent её данные PHP-скрипту,
// который запишет их в сессию.
agent.call("aa_func.php", "AA_SaveFieldValue", "callback_SaveFieldValue", ulName, Id);
</script>
}

В коде страницы пишем что-то типа этого:

<ul id="Q1" class="questionsUL">
<li onClick="javascript:SwitchRadio(this,'1')">Вариант 1</li>
<li onClick="javascript:SwitchRadio(this,'2')">Вариант 2</li>
<li onClick="javascript:SwitchRadio(this,'3')">Вариант 3</li>
</ul>

А в стилях:

.questionsUL {
padding: 0;
margin: 0 0 0 20px;
}
.questionsUL li {
list-style: none;
margin: 0;
padding: 0;
background: url(images/radio_off.gif) 0 2px no-repeat;
padding: 0 0 5px 20px;
margin: 0;
cursor: pointer;
}

radio_on.gif и radio_off.gif - это наша кнопка. Соответственно включённая и выключенная. Стили прописаны для картинки с кнопкой размерами 10x10 пикселей.