-
Notifications
You must be signed in to change notification settings - Fork 5
Supported CSS Selectors
Since Codename One stylesheets are meant to be used with Codename One component hierarchies instead of XML/HTML documents, selectors work a little differently.
-
All selectors (with some specific exceptions discussed below) are interpreted as UIIDs.
-
Only 4 predefined CSS classes are supported:
-
.pressed
- Targets the component when in "Pressed" state. -
.selected
- Targets the component when in "Selected" state. -
.unselected
- Targets the component when in "Unselected" state. -
.disabled
- Targets the component when in "Disabled" state.If no class is specified, then the selector targets "all" states of the given component.
The following are a few possible selectors you can include in your stylesheet.
-
Button
- Defines styles for the "Button" UIID. -
Button.pressed
- Defines styles for the "Button" UIID’s "pressed" state. -
Button, TextField, Form
- Defines styles for the "Button", "TextField", and "Form" UIIDs.
Example 1:
The following example creates a simple button with a border, and text aligned center. By default the button will have a transparent background, but when it is pressed, it will have a gray background:
Button {
text-align: center;
border: 1pt solid gray;
background-color: transparent;
}
Button.pressed {
background-color: gray;
}
Example 2: Inheriting properties using cn1-derive
The following example defines a custom Button style named "MyButton" that inherits all of the styles of Button but changes the background color to blue.
MyButton {
cn1-derive: Button;
background-color: blue;
}
The #Device
selector allows you to define which device resolutions this CSS file should target. Mutli-images generated from this style-sheet will only be include variants for device resolutions in the range (min-resolution, max-resolution)
as defined in this section. By default all resolutions are generated.
#Device {
min-resolution: 120dpi;
max-resolution: 480dpi;
resolution: 480dpi;
}
The #Constants
selector allows you to specify theme constants.
e.g.
#Constants {
PopupDialogArrowBool: false;
calTitleDayStyleBool: true;
calTransitionVertBool: false;
calendarLeftImage: "calendar-arrow-left.png";
calendarRightImage: "calendar-arrow-right.png";
centeredPopupBool: false;
checkBoxCheckDisFocusImage: "Check-Box_Normal.png";
checkBoxCheckedFocusImage: "Check-Box_Press.png";
checkBoxCheckedImage: "Check-Box_Press.png";
checkBoxOppositeSideBool: true;
checkBoxUncheckedFocusImage: "Check-Box_Normal.png";
checkBoxUncheckedImage: "Check-Box_Normal.png";
comboImage: "combo.png";
commandBehavior: "Side";
dialogTransitionIn: "fade";
dialogTransitionOut: "fade";
dlgButtonCommandUIID: "DialogButton";
dlgCommandGridBool: true;
dlgInvisibleButtons: #1a1a1a;
formTransitionIn: "empty";
formTransitionOut: "slide";
includeNativeBool: true;
menuImage: "of_menu.png";
noTextModeBool: true;
onOffIOSModeBool: true;
otherPopupRendererBool: false;
pureTouchBool: true;
radioSelectedFocusImage: "Radio_btn_Press.png";
radioSelectedImage: "Radio_btn_Press.png";
radioUnselectedFocusImage: "Radio_btn_Normal.png";
radioUnselectedImage: "Radio_btn_Normal.png";
sideMenuImage: "menu.png";
switchMaskImage: "switch-mask-3.png";
switchOffImage: "switch-off-3.png";
switchOnImage: "switch-on-3.png";
tabPlacementInt: 0;
backIconImage: "Back-icon.png";
articleSourceIconImage: "Source-icon.png";
articleDateIconImage: "Date-icon.png";
articleArrowRightImage: "Arrow-right.png";
articleShareIconImage: "Share-icon.png";
articleBookmarkIconImage: "Bookmark-icon.png";
articleTextIconImage: "Text-icon.png";
articleCommentsIconImage: "Comments-icon.png";
newsIconImage: "News-icon.png";
channelsIconImage: "Channels-icon.png";
bookmarksIconImage: "Bookmarks-icon.png";
overviewIconImage: "Overview-icon.png";
calendarIconImage: "Calendar-icon.png";
timelineIconImage: "Timeline-icon.png";
profileIconImage: "Profile-icon.png";
widgetsIconImage: "Widgets-icon.png";
settingsIconImage: "Settings-icon.png";
SubmitIconImage: "Submit-icon.png";
SubmitIconDarkImage: "SubmitButtonLight-icon.png";
}
In the above example, the constants referring to an image name as a string requires that the image exists in one of the following locations:
-
res/<cssfilename>/<imageName>
-
../res/<cssfilename>/<imageName>
-
../../res/<cssfilename>/<imageName>
or that it has been defined as a background image in some selector in this CSS file.