Xin Calendar 2 Step-by-step: Set up the layout and styles
If we open the "config/xc2_default.js" in a text editor, we could notice that it consists of several sections:
All the settings are defined with Javascript variables and the names of these variables should be quite self-explained. Now let's look at the first three sections and we will cover the mods later.
|
So basically we have the option to set up CSS styles for individual click-able elements in the calendar at normal stage, mouse-over stage and mouse-down stage. Following is the default configuration used by Xin Calendar 2:
// date format // ----------- xcDateFormat="yyyy-mm-dd"; // css conf // -------- xcCSSPanel="panel"; xcCSSHeadBlock="row_head"; xcCSSHead="head"; xcCSSArrowMonthPrev=["arrow_prev", "arrow_prev_over", "arrow_prev_down"]; xcCSSArrowMonthNext=["arrow_next", "arrow_next_over", "arrow_next_down"]; xcCSSArrowYearPrev=["arrow_prev", "arrow_prev_over", "arrow_prev_down"]; xcCSSArrowYearNext=["arrow_next", "arrow_next_over", "arrow_next_down"]; xcCSSWeekdayBlock="row_week"; xcCSSWeekday="weekday"; xcCSSDayBlock="row_day"; xcCSSDay=["day", "day_over", "day_down", "day_disabled"]; xcCSSDayCurrent=["day_current", "", ""]; xcCSSDaySpecial=["day_special", "day_disabled"]; xcCSSDayOther=["day_other", "day_disabled"]; xcCSSDayEmpty="day_empty"; xcCSSFootBlock="row_foot"; xcCSSFootToday=["foot", "foot_over", "foot_down"]; xcCSSFootClear=["foot", "foot_over", "foot_down"]; xcCSSFootBack=["foot", "foot_over", "foot_down"]; xcCSSFootClose=["foot", "foot_over", "foot_down"]; xcCSSFootReset=["foot", "foot_over", "foot_down"]; // layout conf // ----------- xcMonthNames=["January", "February", ..., "December"]; xcMonthShortNames=["Jan", "Feb", ..., "Dec"]; xcMonthPrefix=""; xcMonthSuffix=""; xcYearDigits=["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; xcYearPrefix=""; xcYearSuffix=""; xcHeadSeparator=" "; // separator string between year and month xcHeadTagOrder=1; // 1: month/year, 0: year/month xcHeadTagAdjustment=1; // 1: 100% width, 0: actual width xcArrowMonth=["‹", "›"]; xcArrowYear=["«", "»"]; xcArrowSwitch=[1, 1]; // [year, month] 1:on, 0:off xcArrowPosition=0; // 0:in head block, 1:in foot block // names for days xcWeekdayNames=["Sunday", "Monday", ..., "Sunday"]; xcWeekdayShortNames=["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]; xcWeekdayDisplay=["S", "M", "T", "W", "T", "F", "S", "S"]; // foot links xcFootTags=["Today", "Clear", "Back", "Close", "Reset", "_Today_", "_Back_", "_Reset_"]; xcFootTagSwitch=[1, 0, 0, 2, 0, 0, 0, 0]; // non-zero: display order, 0: off xcFootTagAdjustment=0; // 1: % width, 0: actual width xcGridWidth=0; // used as cellspacing xcBaseZIndex=100; // z-index for calendar layers xcMultiCalendar=0; // 1:multi-calendar, 0:single-calendar xcShowCurrentDate=1; // 1:highlight current date/today, 0:no highlight xcWeekStart=0; // 0:Sunday, 1:Monday xcDayContents=[" ", "1", "2", ..., "30", "31"]; xcDayContentsDisabled=xcDayContents; xcDayContentsCurrent=xcDayContents; ... and the default CSS definitions (css/xc2_default.css): .panel { border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; background-color:#f0f0f0; } .row_head { border-width:1px; border-style:solid; border-color:#f0f0f0; background-color:#f0f0f0; } .head { font-family:verdana; font-size:11px; font-weight:bold; text-align:center; color:#000000; background-color:#f0f0f0; cursor:default; } .arrow_prev { font-family:verdana; font-size:11px; width:12px; margin-right:1px; text-align:center; color:#ffffff; background-color:#99b3cc; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .arrow_prev_over { font-family:verdana; font-size:11px; width:12px; margin-right:1px; text-align:center; color:#ffffff; background-color:#afc6dd; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .arrow_prev_down { font-family:verdana; font-size:11px; width:12px; margin-right:1px; text-align:center; color:#ffffff; background-color:#7e93aa; border-width:1px; border-style:solid; border-color:#4b6077 #afc6dd #afc6dd #4b6077; padding:2px 0px 0px 2px; cursor:pointer; } .arrow_next { font-family:verdana; font-size:11px; width:12px; margin-left:1px; text-align:center; color:#ffffff; background-color:#99b3cc; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .arrow_next_over { font-family:verdana; font-size:11px; width:12px; margin-left:1px; text-align:center; color:#ffffff; background-color:#afc6dd; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .arrow_next_down { font-family:verdana; font-size:11px; width:12px; margin-left:1px; text-align:center; color:#ffffff; background-color:#7e93aa; border-width:1px; border-style:solid; border-color:#4b6077 #afc6dd #afc6dd #4b6077; padding:2px 0px 0px 2px; cursor:pointer; } .row_week { border-width:1px; border-style:solid; border-color:#99b3cc #99b3cc #668099 #99b3cc; } .weekday { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#ffffff; background-color:#99b3cc; border:1px solid #99b3cc; padding:1px; cursor:default; } .row_day { padding:1px; } .day { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#000000; background-color:#f0f0f0; border:1px solid #f0f0f0; padding:1px; cursor:pointer; } .day_over { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#000000; background-color:#f0f0f0; border-width:1px; border-style:solid; border-color:#ffffff #c0c0c0 #c0c0c0 #ffffff; padding:1px; cursor:pointer; } .day_down { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#000000; background-color:#cfcfcf; border-width:1px; border-style:solid; border-color:#9c9c9c #ffffff #ffffff #9c9c9c; padding:1px; cursor:pointer; } .day_empty { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#f0f0f0; background-color:#f0f0f0; border:1px solid #f0f0f0; padding:1px; cursor:default; } .day_disabled { font-family:verdana; font-size:11px; width:23px; text-align:center; text-decoration:line-through; color:#999999; background-color:#f0f0f0; border:1px solid #f0f0f0; padding:1px; cursor:default; } .day_current { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#ffffff; background-color:#99b3cc; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .day_special { font-family:verdana; font-size:11px; width:23px; text-align:center; color:#ffffff; background-color:#cc9999; border-width:1px; border-style:solid; border-color:#ffcccc #996666 #996666 #ffcccc; padding:1px; cursor:pointer; } .day_other { font-family:verdana; font-size:9px; width:23px; text-align:center; color:#999999; background-color:#f0f0f0; border:1px solid #f0f0f0; padding:1px; cursor:pointer; } .row_foot { margin:1px; } .foot { font-family:verdana; font-size:11px; width:50px; margin:0px 1px; text-align:center; color:#ffffff; background-color:#99b3cc; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .foot_over { font-family:verdana; font-size:11px; width:50px; margin:0px 1px; text-align:center; color:#ffffff; background-color:#afc6dd; border-width:1px; border-style:solid; border-color:#cce6ff #668099 #668099 #cce6ff; padding:1px; cursor:pointer; } .foot_down { font-family:verdana; font-size:11px; width:50px; margin:0px 1px; text-align:center; color:#ffffff; background-color:#7e93aa; border-width:1px; border-style:solid; border-color:#4b6077 #afc6dd #afc6dd #4b6077; padding:2px 0px 0px 2px; cursor:pointer; } ... |
Usually we don't need to modify the default config file but just overwrite some settings to change the look and feel of the calendar, which we demonstrate in the coming examples.
[The helper functions] [Back to index page]
# # #