CSS Challenge: Custom Radio Selects

Създадох доста страхотно изглеждащо оформление на формуляр, но нямам представа как да накарам радиостанциите в него да работят! По-долу е даден макет на формуляра: Пример на формулярВече създадох CSS за въвеждане на текст ( и ще го прикача по-долу за всеки друг, който търси нещо подобно). Това, което сега трябва да разбера, е "Каква услуга търсите?" раздел. Написах CSS за синьото поле, но сега трябва да разбера как да превърна „Консултиране, уеб разработка и графичен дизайн“ в радио избира къде това с отметката до него е избраното радио поле. Доста над главата ми. Все още се опитвам да го разбера и ще публикувам отново тук, ако го направя; просто търся някаква информация за това как бихте написали тези радиостанции.

Актуален код за въвеждане на текст:

input[type=text] {
     width: 365px;
     height: 54px;
     margin: 0 0 12px 0;
     padding: 0 0 0 25px;
     -webkit-border-radius: 15px;
     -moz-border-radius: 15px;
     border-radius: 15px;
     background: #a2bdd8;
     background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #76899d), color-stop(0.075, #a2bdd8));
     color: #fff;
     font-size: 30px;
     border: none;
}
*:focus { outline: none; }

Текущ код за фон на „Каква услуга търсите?“:

#options {
     width: 270px;
     height: 120px;
     -webkit-border-radius: 15px;
     -moz-border-radius: 15px;
     border-radius: 15px;
     background: #a2bdd8;
}

person Robert Klubenspies    schedule 25.04.2011    source източник
comment
Вероятно свързано: stackoverflow.com/questions/5112995/   -  person Blender    schedule 25.04.2011


Отговори (3)


jQuery има няколко приставки за радио/чекбокс. Харесвам този, използван на http://webscale.cms.ezcompany.nl/scan

<script src="/files/jquery.checkbox.min.js"></script>
<link rel="stylesheet" href="/bg/files/jquery.checkbox.css" />
<script>
$('input[type=radio]').checkbox({empty: '/files/empty.png'});
</script>

Списък с добавки на jquery.com: http://plugins.jquery.com/plugin-tags/checkbox

person Rudie    schedule 25.04.2011
comment
Jquery-Checkbox (в Google Code) свърши работа! Благодаря за ръководството :) - person Robert Klubenspies; 25.04.2011
comment
Да, този ми харесва. Много прост JS и всичко останало може да се направи в CSS: всички състояния, размер, полета и т.н - person Rudie; 25.04.2011

Е, виждам, че имаш отговор, но ти създадох демонстрация на jsFiddle, защото обичам този тип предизвикателства:

http://jsfiddle.net/Madmartigan/VkTZa/1/

Използва jQuery (не можах да се сетя за чисто css добро решение). Може би е малко по-просто от използването на плъгин?

Наслади се!

person Wesley Murch    schedule 25.04.2011
comment
Благодаря ви, това е много изчерпателно. И +1 за усилията! Ще трябва да видя как мога да го приложа :) - person Robert Klubenspies; 26.04.2011

Ще трябва да създадете изображения и да замените квадратчетата си с тези изображения. След това ги превключете с javascript, когато щракнете върху квадратчето за отметка.

Редактиране:
Знам, че Google вече не е готин, тъй като има SO, но може би ще намерите тези връзки за полезни:
Инструкции за персонализирано квадратче за отметка
Друго персонализиран скрипт и урок за отметка

person Damb    schedule 25.04.2011
comment
Звучи като план. Това си мислех, но се опитвах да се въздържа от използването на Javascript. Предполагам, че нямам избор. И за да отговоря на въпроса ви, само няколко приятели. Имате ли съвет за дизайн, за да изглежда по-добре? - person Robert Klubenspies; 25.04.2011
comment
Не е възможно да се правят промени като тези в чист css afaik. И моят съвет за дизайн би бил само субективно мнение, така че вероятно няма да е много полезен. Но.. Определено бих започнал с добавяне на контраст (поне към бутона за изпращане) и промяна на размера на шрифта. - person Damb; 25.04.2011
comment
Можете да направите стила без JS, но превключването тогава пак ще бъде JS. Напр. input[type="checkbox"] + span { ..unchecked.. } input[type="checkbox"]:checked + span { ..checked.. } (и скриване на входовете) - person Rudie; 25.04.2011
comment
@Rudie: Вярно. Но аз лично не се доверявам на тези "напреднали" селектори.. защото най-вероятно има браузъри (без да споменавам нито един :d), които няма да ги харесат. Но от друга страна.. Не съм правил тежък css стил от известно време, така че може да работи добре в днешно време, когато ie6 е мъртъв :) - person Damb; 25.04.2011
comment
Много вярно. Използвам и плъгините jQuery. И не напредналите селектори. IE6 и 7 са мъртви за мен и са от известно време. IE8 дори не поддържа всички CSS2 селектори! - person Rudie; 25.04.2011