Язык страницы:

CSS темы для виртуальной клавиатуры

Эта страница расскажет о том как создать новую тему и/или изменить существующую так, чтобы она вписалась в проект. Вопросы по созданию и редактированию тем можно задать на форуме.

Обратите внимание, мы готовы решать проблемы с темами, построенными по правилам, описанным в данном руководстве.
В данном руководстве все селекторы указаны с полным путём и могут содержать несколько уникальных идентификаторов подряд. Вы можете сократить селектор по своему усмотрению.

Базовые правила разработки

Практика разработки новых тем и доработки существующих показала, что имеет смысл придерживаться следующих правил:

  • Все кнопки и их состояния должны размещаться на одной картинке.
  • Изменение состояния кнопки осуществляется сдвигом фоновой картинки в нужное положение.
  • Не поддерживать слишком старые браузеры, например IE 5.5 и младше.
  • Не использовать margin для создания отступов между кнопками.

Пример блока кнопок:
 Кнопки темы FlatGray

Структура CSS

Ниже описаны правила CSS, отвечающие за внешний вид клавиатуры и динамическое изменение состояний.

#virtualKeyboard

Описывает размеры и внешний вид корневого блока ВК.

На странице может присутствовать только одна клавиатура.

#kbDesk

Селектор: #virtualKeyboard #kbDesk

Блок кнопок. Внутри этого узла содержатся только кнопки и ничего более.

div.kbButton

Селектор: #virtualKeyboard #kbDesk div.kbButton

Основное описание кнопки, здесь желательно задавать размеры кнопки и все отступы.

Не используйте margin, Internet Explorer создаст большие проблемы с позиционированием кнопок.

Обязательные правила

    float: left;
    height: YYpx;
    width: XXpx;
    z-index: 2;

div.kbButton a

Селектор: #virtualKeyboard #kbDesk div.kbButton a

Кпопки формируются из ссылок, поскольку это единственный способ не сбросить выделение в Internet Explorer когда клавиатура расположена в фрейме или другом окне.

Обязательные правила

    background: url(button_set.png) 0 0 no-repeat;
    display: block;
    height: 100%;
    position: relative;
    width: 100%;

div.kbButton a span

Селектор: #virtualKeyboard #kbDesk div.kbButton a span

Все «наклейки» на кнопках описываются узлами span. Здесь задаются базовые настройки: шрифт, цвет и пр.

Обязательные правила

        overflow: visible;
        white-space: pre;

span.title

Селектор: #virtualKeyboard #kbDesk div.kbButton span.title

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

Серия span.char*

Используемые селекторы

  • #virtualKeyboard #kbDesk div.kbButton span.charAlt
  • #virtualKeyboard #kbDesk div.kbButton span.charCaps
  • #virtualKeyboard #kbDesk div.kbButton span.charNormal
  • #virtualKeyboard #kbDesk div.kbButton span.charShift
  • #virtualKeyboard #kbDesk div.kbButton span.charShiftAlt
  • #virtualKeyboard #kbDesk div.kbButton span.charShiftCaps

Используется совместно с серией #kbDesk.mode* для

  • указания правил по-умолчанию
  • динамического отображения нужных «наклеек»

Серия span.hidden*

Используемые селекторы

  • #virtualKeyboard #kbDesk div.kbButton span.hiddenAlt
  • #virtualKeyboard #kbDesk div.kbButton span.hiddenShift
  • #virtualKeyboard #kbDesk div.kbButton span.hiddenCaps

Указывают что данный узел должен быть скрыт в определённом режиме. Используется для уменьшения подсказок на кнопке. Например, если кнопка в нормальном режиме печатает символ 'q', а с нажатым shift - 'Q', то в подсказке нет необходимости.

Пример

#virtualKeyboard #kbDesk.modeAlt div.kbButton span.hiddenAlt,
#virtualKeyboard #kbDesk.modeNormal div.kbButton span.hiddenShift,
#virtualKeyboard #kbDesk.modeShift div.kbButton span.hiddenShift,
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.hiddenCaps,
        display: none;
}

span.deadKey

Селектор: #virtualKeyboard #kbDesk div.kbButton span.deadKey

Используется для выделения символов, которые работают как «мёртвые», т.е. являются модификаторами для последующего введённого символа. Сам символ вводится двойным нажатием на кнопку.

div.kbButtonHover

Селектор: #virtualKeyboard #kbDesk div.kbButtonHover

Сам по себе этот селектор не используется, но указывает на текущее состояние кнопки. С его помощью добавляются динамические эффекты. Был введён вместо a:hover поскольку при использовании последнего в IE кнопки начинают залипать.

div.kbButtonDown

Селектор: #virtualKeyboard #kbDesk div.kbButtonDown

Сам по себе этот селектор не используется, но указывает на текущее состояние кнопки. Если этот селектор активен, то div.kbButtonHover отключен.

Серия #kbDesk.mode*

Используемые селекторы

  • #kbDesk.modeAlt
  • #kbDesk.modeCaps
  • #kbDesk.modeNormal
  • #kbDesk.modeShift
  • #kbDesk.modeShiftAlt
  • #kbDesk.modeShiftAltCaps
  • #kbDesk.modeShiftCaps

Указывают на текущее состояние управляющих кнопок. При нажатии на какую-либо из них селектор изменяется. Требуется для:

  • указания правил по-умолчанию
  • динамического отображения нужных символов

Пример

#virtualKeyboard #kbDesk.modeShift div.kbButton span.charShiftCaps {
        color: green;
}
#virtualKeyboard #kbDesk.modeCaps div.kbButton span.charShiftAlt {
        display: none;
}

Серия div#kb_b*

Используемые селекторы

  • #virtualKeyboard #kbDesk div#kb_benter
  • #virtualKeyboard #kbDesk div#kb_bbackspace
  • #virtualKeyboard #kbDesk div#kb_btab
  • #virtualKeyboard #kbDesk div#kb_bcaps
  • #virtualKeyboard #kbDesk div#kb_bshift_left
  • #virtualKeyboard #kbDesk div#kb_bshift_right
  • #virtualKeyboard #kbDesk div#kb_balt_left
  • #virtualKeyboard #kbDesk div#kb_balt_right
  • #virtualKeyboard #kbDesk div#kb_bctrl_left
  • #virtualKeyboard #kbDesk div#kb_bctrl_right
  • #virtualKeyboard #kbDesk div#kb_bdel
  • #virtualKeyboard #kbDesk div#kb_bspace

Определяет управляющие кнопки.

div#kb_benter

Селектор: #virtualKeyboard #kbDesk div#kb_benter div#kb_benter

Описывает правила для кнопки «Enter».

Обязательные правила

#virtualKeyboard #kbDesk div#kb_benter {
        margin-top: -XXpx;
        float: right;
        z-index: -1;
}
#virtualKeyboard #kbDesk div#kb_benter[id] {
        z-index: 0;
}

Где XX - высота стандартной кнопки. Стандартный дизайн предполагает двойную высоту Enter, относительно прочих кнопок.

div#kb_balt_left

Селектор: #virtualKeyboard #kbDesk div#kb_balt_left Описывает правила для левого «Alt».

Обязательные правила

#virtualKeyboard #kbDesk div#kb_benter {
        margin-left: XXpx;
}

Где XX - сдвиг кнопки, так чтобы «Alt» оказался примерно под серединой «Z».

div#kb_bctrl_right

Селектор #virtualKeyboard #kbDesk div#kb_bctrl_right

Описывает правила для правого «Ctrl».

Обязательные правила

#virtualKeyboard #kbDesk div#kb_bctrl_right {

float: right;

}

select#kb_langselector

Селектор: #virtualKeyboard select#kb_langselector

Выпадающий список (select) раскладок.

select#kb_mappingselector

Селектор: #virtualKeyboard select#kb_mappingselector

Выпадающий список (select) клавиатурных драйверов для настройки трансляции виртуальных кодов кнопок.

#copyrights

Селектор: #virtualKeyboard #copyrights

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

#VirtualKeyboardIME

Правила для тулбара IME. Используется в основном в азиатских языках.

table

Селектор: #VirtualKeyboardIME table

Правила для самой таблицы подсказок.

td.IMEControl

Селектор: #VirtualKeyboardIME table td.IMEControl

Базовые правила для управляющих «кнопок»: перелистывание страниц с подсказками, отображение режима показа - постраничный или полный.

td.IMEContent

Селектор: #VirtualKeyboardIME td.IMEContent

Правила для ячейки таблицы, где размещаются подсказки.

td.IMEContent a

Селектор: #VirtualKeyboardIME td.IMEContent a Правила для самих подсказок.

div.left

Селектор: #VirtualKeyboardIME div.left Кнопка для перелистывания подсказок «влево», к началу списка. По-умолчанию выглядит как треугольник, нарисована с помощью трюка CSS, без картинки.

div.right

Селектор: #VirtualKeyboardIME div.right

Кнопка для перелистывания подсказок «вправо», к концу списка. По-умолчанию выглядит как треугольник, нарисована с помощью трюка CSS, без картинки.

td.IMEInfo

Селектор: #VirtualKeyboardIME td.IMEInfo

Правила для информационного блока (список «страниц», текущая «страница»)

div.arrow

Селектор: #VirtualKeyboardIME td.IMEInfo div.arrow

Базовые правила для кнопки переключения режима отображения подсказок.

div.showAll div.arrow

Селектор: #VirtualKeyboardIME td.IMEInfo div.showAll div.arrow

Кнопка в режиме «показать полный список»

div.showPage div.arrow

Селектор: #VirtualKeyboardIME td.IMEInfo div.showPage div.arrow

Кнопка в режиме «показать страницы»

div.IMEPageCounter

Селектор: #VirtualKeyboardIME td.IMEInfo

Счётчик страниц с подсказками.

Подстройка под язык

Различные алфавиты используют символы различных размеров, что привело к необходимости подстройки размеров шрифтов и положения «наклеек» относительно кнопки. Для реализации такой подстройки, при переключении раскладки к корневому узлу клавиатуры и тулбара добавляется определённый «код» языка.

Пример

Подстройка под китайский язык, кроме размеров шрифта нужно указать и сам шрифт.

#virtualKeyboard.ZH div.kbButton span {
        font-family: MingLiU, SimSun, "Arial Unicode MS";
        font-size: 15.5pt;
}
#virtualKeyboard.ZH div.kbButton span.charAlt,
#virtualKeyboard.ZH div.kbButton span.charShift {
        font-size: 14pt;
}
#VirtualKeyboardIME.ZH div.IMEContent {
        font-family: SimSun, "Arial Unicode MS";
        font-size: 16px;
}

  • Закладки и социальные сети
  • Сохранить "CSS темы для виртуальной клавиатуры" на del.icio.us
  • Сохранить "CSS темы для виртуальной клавиатуры" на Digg
  • Сохранить "CSS темы для виртуальной клавиатуры" на Furl
  • Сохранить "CSS темы для виртуальной клавиатуры" на Reddit
  • Сохранить "CSS темы для виртуальной клавиатуры" на Ask
  • Сохранить "CSS темы для виртуальной клавиатуры" на BlinkList
  • Сохранить "CSS темы для виртуальной клавиатуры" на blogmarks
  • Сохранить "CSS темы для виртуальной клавиатуры" на Google
  • Сохранить "CSS темы для виртуальной клавиатуры" на Ma.gnolia
  • Сохранить "CSS темы для виртуальной клавиатуры" на Netscape
  • Сохранить "CSS темы для виртуальной клавиатуры" на ppnow
  • Сохранить "CSS темы для виртуальной клавиатуры" на Rojo
  • Сохранить "CSS темы для виртуальной клавиатуры" на Shadows
  • Сохранить "CSS темы для виртуальной клавиатуры" на Simpy
  • Сохранить "CSS темы для виртуальной клавиатуры" на Socializer
  • Сохранить "CSS темы для виртуальной клавиатуры" на Spurl
  • Сохранить "CSS темы для виртуальной клавиатуры" на StumbleUpon
  • Сохранить "CSS темы для виртуальной клавиатуры" на Tailrank
  • Сохранить "CSS темы для виртуальной клавиатуры" на Technorati
  • Сохранить "CSS темы для виртуальной клавиатуры" на Live Bookmarks
  • Сохранить "CSS темы для виртуальной клавиатуры" на Wists
  • Сохранить "CSS темы для виртуальной клавиатуры" на Yahoo! Myweb
  • Сохранить "CSS темы для виртуальной клавиатуры" на BobrDobr
  • Сохранить "CSS темы для виртуальной клавиатуры" на Memori
  • Сохранить "CSS темы для виртуальной клавиатуры" на Faves
  • Сохранить "CSS темы для виртуальной клавиатуры" на Favorites
  • Сохранить "CSS темы для виртуальной клавиатуры" на Facebook
  • Сохранить "CSS темы для виртуальной клавиатуры" на Newsvine
  • Сохранить "CSS темы для виртуальной клавиатуры" на Yahoo! Bookmarks
  • Сохранить "CSS темы для виртуальной клавиатуры" на Twitter
  • Сохранить "CSS темы для виртуальной клавиатуры" на myAOL
  • Сохранить "CSS темы для виртуальной клавиатуры" на Slashdot
  • Сохранить "CSS темы для виртуальной клавиатуры" на Fark
  • Сохранить "CSS темы для виртуальной клавиатуры" на RawSugar
  • Сохранить "CSS темы для виртуальной клавиатуры" на LinkaGoGo
  • Сохранить "CSS темы для виртуальной клавиатуры" на Mister Wong
  • Сохранить "CSS темы для виртуальной клавиатуры" на Wink
  • Сохранить "CSS темы для виртуальной клавиатуры" на BackFlip
  • Сохранить "CSS темы для виртуальной клавиатуры" на Diigo
  • Сохранить "CSS темы для виртуальной клавиатуры" на Segnalo
  • Сохранить "CSS темы для виртуальной клавиатуры" на Netvouz
  • Сохранить "CSS темы для виртуальной клавиатуры" на DropJack
  • Сохранить "CSS темы для виртуальной клавиатуры" на Feed Me Links
  • Сохранить "CSS темы для виртуальной клавиатуры" на funP
  • Сохранить "CSS темы для виртуальной клавиатуры" на HEMiDEMi
projects/virtualkeyboard/theme/create.txt · Последние изменения: 2009/04/16 18:23 От Ilya Lebedev
GNU Free Documentation License 1.2 www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0