SHU BLOG

BLOG NEWS

TITLE

【jQuery】datepicker CSSでカスタマイズする方法

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!

サーバーとドメインの同時取得で.jpが無料

シュウ
シュウ
今回は【jQuery】datepicker CSSでカスタマイズする方法について
の解説になります!

こんな方に読んでほしい

  • jQueryを学び始めた方へ
  • jQueryの基本的な知識があり、カレンダーのレイアウト変更を目的とした人向けの記事です
  • 今回はdatepickerのカスタマイズについて解説しております。

datepickerについて

datepickerについて

datepickerとは、JavaScript(JS)を使ってウェブページ上に日付を選択するためのカレンダー機能を実装するためのツールのことです。

主に、「予約希望日」や「相談希望日」など、日付を用いる際に使用します。
入力欄をクリックすると、自動的にカレンダーが表示され、そこから日付をクリックすると、その日付が入力欄に自動的に入力される、というものが一般的です。

datepickerの使い方

datepickerは、かつて非常に広く使われていたライブラリで、高機能でカスタマイズ性が高いのが特徴です。
主な使い方の流れは以下になります。

ファイルの読み込み
1必要なJavaScriptファイルとCSSファイルをHTMLに読み込む。
formに記述
2日付を入力させたいHTMLのinput type="text" id="date"要素にIDなどの識別子を付ける。
datepicker()を記述
3JavaScriptコードで、そのIDを持つ要素に対してdatepicker()のようなメソッドを呼び出す。
<!---②--->
日付を選択: <input type="text" id="date">

<!---①--->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/i18n/jquery.ui.datepicker-ja.min.js"></script>
<!---③--->
<script>
$(function() {
  $( "#date" ).datepicker({
    changeMonth: true,
    changeYear: true
  });
});
</script>

jQuery UIもjQuery本体と合わせて更新することをお勧めします。
現在、jQuery UIの安定版の最新バージョンは1.13.2です。

CSSでのカスタマイズについて

CSSでのカスタマイズについて

jQuery UIのテーマを読み込んだ上で、さらに細かい部分を自分で変更したい場合は、独自のCSSファイルを作成し、それをjQuery UIのCSSファイルの後に読み込むことで、スタイルを上書きできます。
カスタマイズのCSSは以下になります。

#ui-datepicker-div {padding: 1rem !important;}
.ui-datepicker-calendar th span {
	color: #ccc !important;
	font-size: 1.2rem !important;
}

.ui-state-default, 
.ui-widget-content .ui-state-default, 
.ui-widget-header .ui-state-default, 
.ui-button, html 
.ui-button.ui-state-disabled:hover, html 
.ui-button.ui-state-disabled:active {
    border: 1px solid #fff !important;
    background: #fff !important;
    font-weight: normal;
    color: #555;
    font-size: 1.4rem !important;
}

.ui-widget-header {
    border: 1px solid #fff !important;
    background: #fff !important;
    color: #555 !important;
    font-weight: bold;
}

.ui-datepicker .ui-datepicker-title {
    font-size: 1.4rem !important;
}

.ui-datepicker-month,
.ui-datepicker-year {border: none !important;}
.ui-datepicker .ui-datepicker-title select {
    margin-left: 1rem !important;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 19% !important;
}

/*-----矢印 カスタマイズ-------*/
.ui-datepicker-prev span.ui-icon,
.ui-datepicker-next span.ui-icon {
  text-indent: -9999px !important;
  overflow: hidden !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}
.ui-datepicker-prev span.ui-icon {
  background-image: url('../img/common/icon_link_circle1.svg') !important;
}
.ui-datepicker-next span.ui-icon {
  background-image: url('../img/common/icon_link_circle.svg') !important;
}
.ui-datepicker-prev,
.ui-datepicker-next {
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  border: none !important;
  background-color: transparent !important;
}

基本は自由にカスタマイズは可能ですが、CSSが適用されない場合は「!important」を付けてみてください。

覚えておくと便利なクラス名

代表的なクラス名としては、以下のようなものがあります。

.ui-datepicker
Datepicker全体のコンテナ
.ui-datepicker-header
ヘッダー部分(月と年の表示、前後の移動ボタン)
.ui-datepicker-prev,.ui-datepicker-next
前後の月へ移動するボタン
.ui-datepicker-title
月と年の表示部分
.ui-datepicker-month, .ui-datepicker-year
月と年のドロップダウン
.ui-datepicker-calendar
カレンダーのテーブル部分
.ui-datepicker th
曜日のセル
.ui-datepicker td
日付のセル
.ui-state-default
日付の通常のスタイル
.ui-state-hover
マウスオーバー時の日付のスタイル
.ui-state-active
選択中の日付のスタイル
.ui-state-highlight
今日の日付のスタイル(デフォルトで適用される場合がある)
.ui-datepicker-other-month
現在の月ではない日付(前月や翌月の日付)のセル

まとめ

今回はこれで以上です。

POINT
  • datepickerとは、JavaScript(JS)を使ってウェブページ上に日付を選択するためのカレンダー機能を実装するためのツールのことです。
  • 日付を入力させたいHTMLのinput type="text" id="date"要素にIDなどの識別子を付ける。
  • CSSが適用されない場合は「!important」を付けてみてください。
  • 代表的なクラス名を覚えておくとカスタマイズをする際に役立ちます。
スポンサーリンク

SHU

1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。

最新記事

関連記事

オススメ記事

月別アーカイブ