スタイルの設定

このサンプルではカレンダーコントロールの背景色や幅、高さなどのスタイルをCSSに設定する場合のソースコードを確認することができます。

カレンダーコントロールで使用されている表示スタイルについて解説します。 スタイルの設定方法 カレンダーコントロールのスタイルは、CSSで設定します。カレンダーを構成する要素のクラス名を指定して、そのクラスのスタイルを設定します。 次のサンプルコードは、「今日の日付ボタン」要素のスタイルを設定する方法を示します。 .gcim-calendar__today-buttonは、「今日の日付」の要素に割り当てられるクラス名です。ここではcolorプロパティで文字色を設定していますが、その他にも、背景色、フォント、余白、境界線などの様々なスタイルを設定できます。CSSにおけるスタイル設定方法については、CSSのリファレンスを参照してください。 クラス名 カレンダーを構成する要素のクラス名は次の通りです。 要素 クラス名 コントロール gcim-calendar__outter-container ヘッダ gcim-calendar__header 曜日タイトル gcim-calendar__month-body__week-titlegcim-calendar__month-body__corner-cell 今日の日付ボタン gcim-calendar__today-button 週番号 gcim-calendar__month-body__week-number 日曜 gcim-calendar__weekday_sunday 月曜 gcim-calendar__weekday_monday 火曜 gcim-calendar__weekday_tuesday 水曜 gcim-calendar__weekday_wednesday 木曜 gcim-calendar__weekday_thursday 金曜 gcim-calendar__weekday_friday 土曜 gcim-calendar__weekday_saturday 休日 calendar-holiday-type属性※休日はスタイルでなく属性名で指定する必要があります。 隣接日 gcim-calendar__month-body__trailing-day 選択日 gcim-calendar__month-body__selected-day フォーカス日 gcim-calendar__month-body__focusd-day 六曜 gcim-calendar__month-body__rokuyou 今日 gcim-calendar__month-body__today 新しいスタイルの設定方法 InputManJSは2種類のデザインを提供しています。appearanceStyleプロパティを設定することで、従来のデザインまたは新しいデザインを適用できます。すべてのコントロールを初期化する前に設定する必要があります。 appearanceStyleプロパティの設定できる値は次のとおりで、既定値はClassicです。 値 説明 Classic 従来のデザイン Modern 新しいデザイン
import '@grapecity/inputman/CSS/gc.inputman-js.css'; import './styles.css'; import { InputMan } from '@grapecity/inputman'; InputMan.appearanceStyle = InputMan.AppearanceStyle.Modern; const gcCalendar = new InputMan.GcCalendar(document.getElementById('gcCalendar'), { // 六曜を表示します。 showRokuyou: InputMan.Rokuyou.All }); // 休日を設定します const holidayGroup = new InputMan.HolidayGroup('holiday', true); holidayGroup.addHoliday(new InputMan.Holiday('元旦', 1, 1)); holidayGroup.addHoliday(new InputMan.DayOfWeekHoliday('成人の日', InputMan.MonthFlags.January, InputMan.WeekFlags.Second, InputMan.DayOfWeek.Monday)); gcCalendar.addHolidayGroup(holidayGroup); // 休業日を設定します。 gcCalendar.getWeekday('sunday').setWeekFlags(InputMan.WeekFlags.All); gcCalendar.getWeekday('monday').setWeekFlags(InputMan.WeekFlags.All); gcCalendar.getWeekday('tuesday').setWeekFlags(InputMan.WeekFlags.All); gcCalendar.getWeekday('wednesday').setWeekFlags(InputMan.WeekFlags.All); gcCalendar.getWeekday('thursday').setWeekFlags(InputMan.WeekFlags.All); gcCalendar.getWeekday('friday').setWeekFlags(InputMan.WeekFlags.All); gcCalendar.getWeekday('saturday').setWeekFlags(InputMan.WeekFlags.All);
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>カレンダーコントロール - スタイルの設定</title> <!-- SystemJS --> <script src="node_modules/systemjs/dist/system.src.js"></script> <script src="systemjs.config.js"></script> <script> System.import('./src/app'); </script> </head> <body> <div id="gcCalendar"></div> </body> </html>
/* コントロールのスタイル */ .gcim-calendar__outter-container { background-color: floralwhite; } /* ヘッダのスタイル */ body:not([gcim-control-appearance="modern"]) .gcim-calendar__header { background-color: lightgreen; } /* 曜日タイトルのスタイル */ body:not([gcim-control-appearance="modern"]) .gcim-calendar__month-body__corner-cell, .gcim-calendar__month-body__week-title { background-color: lightsteelblue; } /* 今日の日付ボタンのスタイル */ .gcim-calendar__today-button { color: green; } /* 週番号のスタイル */ .gcim-calendar__month-body__week-number { color: green; } /* 曜日のスタイル */ .gcim-calendar__weekday_sunday { color: red; } .gcim-calendar__weekday_monday { color: initial; } .gcim-calendar__weekday_tuesday { color: initial; } .gcim-calendar__weekday_wednesday { color: initial; } .gcim-calendar__weekday_thursday { color: initial; } .gcim-calendar__weekday_friday { color: initial; } .gcim-calendar__weekday_saturday { color: blue; } /* 休日のスタイル */ [calendar-holiday-type] { color: red; } /* 隣接日のスタイル */ .gcim-calendar__month-body__trailing-day { color: initial; opacity: 0.1; } /* 選択日のスタイル */ body:not([gcim-control-appearance="modern"]) .gcim-calendar__month-body__selected-day { background-color: purple; color: white; } /* フォーカス日のスタイル */ body:not([gcim-control-appearance="modern"]) .gcim-calendar__month-body__focusd-day { background-color: mediumpurple; color: white; } /* 六曜のスタイル */ .gcim-calendar__month-body__rokuyou { color: orange; } /* 今日のスタイル */ body:not([gcim-control-appearance="modern"]) .gcim-calendar__month-body__today { border: solid 2px red; }
/* コントロールのスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__outter-container { background-color: floralwhite; } /* 今日の日付ボタンのスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__today-button { color: green; } /* 週番号のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__month-body__week-number { color: green; } /* 曜日のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__weekday_sunday { color: red; } [gcim-control-appearance="modern"] .gcim-calendar__weekday_monday { color: initial; } [gcim-control-appearance="modern"] .gcim-calendar__weekday_tuesday { color: initial; } [gcim-control-appearance="modern"] .gcim-calendar__weekday_wednesday { color: initial; } [gcim-control-appearance="modern"] .gcim-calendar__weekday_thursday { color: initial; } [gcim-control-appearance="modern"] .gcim-calendar__weekday_friday { color: initial; } [gcim-control-appearance="modern"] .gcim-calendar__weekday_saturday { color: blue; } /* 休日のスタイル */ [gcim-control-appearance="modern"] [calendar-holiday-type] { color: red; } /* 隣接日のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__month-body__trailing-day { color: initial; opacity: 0.1; } /* 選択日のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__month-body__selected-day[selected-style="single"] .gcim-calendar__month-body__normal-day-interaction { background-color: purple; color: white; } /* フォーカス日のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__month-body__focusd-day .gcim-calendar__month-body__normal-day-interaction{ background-color: mediumpurple; color: white; } /* 六曜のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__month-body__rokuyou { color: orange; } /* 今日のスタイル */ [gcim-control-appearance="modern"] .gcim-calendar__month-body__today .gcim-calendar__month-body__normal-day-interaction::before{ border: solid 1px red; } [gcim-control-appearance="modern"] .gcim-calendar__month-body__normal-day:not(.gcim-calendar__month-body__empty-day):not(.gcim-calendar__month-body__selected-day[selected-style="single"]):not(.gcim-calendar__month-body__selected-day[selected-style="begin"]):not(.gcim-calendar__month-body__selected-day[selected-style="end"]):hover .gcim-calendar__month-body__normal-day-interaction { background-color: rgb(218, 203, 249); color: #333; } [gcim-control-appearance="modern"] .gcim-calendar__outter-container[auto-switch='true'][calendar-type='monthday'] .gcim-calendar__header__text:hover, [gcim-control-appearance="modern"] .gcim-calendar__outter-container[auto-switch='true'][calendar-type='yearmonth'] .gcim-calendar__header__text:hover, [gcim-control-appearance="modern"] .gcim-calendar__outter-container[auto-switch='true'][calendar-type='smallscaleyear'] .gcim-calendar__header__text:hover { color: purple; } [gcim-control-appearance="modern"] .gcim-calendar__today-button:hover { color: rgb(144, 181, 156); }
System.config({ transpiler: 'plugin-babel', babelOptions: { es2015: true }, meta: { '*.css': { loader: 'css' } }, paths: { // paths serve as alias 'npm:': 'node_modules/' }, // map tells the System loader where to look for things map: { '@grapecity/inputman': 'npm:@grapecity/inputman/index.js', '@grapecity/inputman/CSS': 'npm:@grapecity/inputman/CSS', 'css': 'npm:systemjs-plugin-css/css.js', 'plugin-babel': 'npm:systemjs-plugin-babel/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel/systemjs-babel-browser.js' }, // packages tells the System loader how to load when no filename and/or no extension packages: { src: { defaultExtension: 'js' }, "node_modules": { defaultExtension: 'js' }, } });