การพิมพ์

แพ็คเกจ styled ใช้ system font stack เป็นค่าเริ่มต้น:

--rdrp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

ซึ่งจะแสดงผลด้วยฟอนต์ของระบบปฏิบัติการในแต่ละแพลตฟอร์ม (San Francisco บน macOS, Segoe UI บน Windows, Roboto บน Android) ฟอนต์ระบบรองรับหลายภาษาได้ดี เนื่องจากระบบปฏิบัติการจะจัดการฟอนต์สำรองสำหรับ CJK, อารบิก และสคริปต์อื่นๆ โดยอัตโนมัติ

หากต้องการแทนที่ ให้ตั้งค่า --rdrp-font-family ที่อิลิเมนต์ครอบใดๆ ค่าจะถูกส่งต่อไปยังตัวเลือกวันที่

CSS Variable แบบ Inline Style

แทนที่ฟอนต์ผ่านแอททริบิวต์ style บนอิลิเมนต์ครอบ:

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function CSSCustomFont() {
const [value, setValue] = useState<Date | null>(null);
return (
<div
style={{
["--rdrp-font-family" as string]: '"Georgia", "Times New Roman", serif',
}}
>
<DatePicker value={value} onChange={setValue} />
</div>
);
}

รูปแบบฟอนต์

สลับระหว่างรูปแบบฟอนต์โดยการตั้งค่า --rdrp-font-family บนอิลิเมนต์ครอบ:

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
const fonts = {
System: {},
Serif: { "--rdrp-font-family": '"Georgia", "Times New Roman", serif' },
Mono: { "--rdrp-font-family": '"Menlo", "Courier New", monospace' },
};
type FontName = keyof typeof fonts;
function CompoundCustomFont() {
const [value, setValue] = useState<Date | null>(null);
const [font, setFont] = useState<FontName>("System");
return (
<div>
<div style={{ display: "flex", gap: 6, marginBottom: 12 }}>
{(Object.keys(fonts) as FontName[]).map((name) => (
<button
key={name}
onClick={() => setFont(name)}
style={{
padding: "6px 14px",
border: `1px solid ${font === name ? "#3b82f6" : "#d1d5db"}`,
borderRadius: 6,
background: font === name ? "#eff6ff" : "#fff",
cursor: "pointer",
fontSize: 13,
}}
>
{name}
</button>
))}
</div>
<div style={fonts[font] as React.CSSProperties}>
<DatePicker value={value} onChange={setValue} inline />
</div>
</div>
);
}
March 2026
Su
Mo
Tu
We
Th
Fr
Sa

การใช้ Web Fonts (Noto Sans)

สำหรับการแสดงผลที่สอดคล้องกันข้ามแพลตฟอร์มหรือโปรเจกต์ i18n ให้โหลดเว็บฟอนต์เช่น Noto Sans และแทนที่ตัวแปร:

import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
// 1. โหลด Noto Sans ใน HTML หรือ CSS ของคุณ:
// <link href="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
// 2. แทนที่ตัวแปรฟอนต์:
<div style={{ "--rdrp-font-family": '"Noto Sans", sans-serif' } as React.CSSProperties}>
<DatePicker value={value} onChange={setValue} inline />
</div>;
import { useState, useEffect } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function CompoundNotoSans() {
const [value, setValue] = useState<Date | null>(null);
useEffect(() => {
// Load Noto Sans from Google Fonts (for demo purposes only)
if (!document.getElementById("noto-sans-font")) {
const link = document.createElement("link");
link.id = "noto-sans-font";
link.rel = "stylesheet";
link.href =
"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap";
document.head.appendChild(link);
}
}, []);
return (
<div style={{ "--rdrp-font-family": '"Noto Sans", sans-serif' } as React.CSSProperties}>
<DatePicker value={value} onChange={setValue} inline />
</div>
);
}
March 2026
Su
Mo
Tu
We
Th
Fr
Sa

แกลเลอรีเว็บฟอนต์

เปรียบเทียบเว็บฟอนต์ต่างๆ เพื่อดูว่าการพิมพ์เปลี่ยนแปลงรูปลักษณ์ของตัวเลือกวันที่ได้อย่างน่าทึ่งเพียงใด ฟอนต์ทั้งหมดด้านล่างรองรับการแสดงผลหลายภาษา (ละติน, CJK, เกาหลี)

⚠️ สำหรับสาธิตเท่านั้น

ฟอนต์ด้านล่างนี้โหลดมาจาก Google Fonts CDN เพื่อการสาธิตเท่านั้น ไลบรารีนี้ ไม่ได้ รวมเว็บฟอนต์ใดๆ มาให้ คุณต้องโหลดฟอนต์ในโปรเจกต์ของคุณเอง

import { useState, useEffect } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
const WEB_FONTS = [
{ name: "Noto Sans", family: '"Noto Sans", sans-serif' },
{ name: "Noto Serif", family: '"Noto Serif", serif' },
{ name: "IBM Plex Sans", family: '"IBM Plex Sans", sans-serif' },
{ name: "Roboto Slab", family: '"Roboto Slab", serif' },
];
const FONT_URL =
"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Noto+Sans:wght@400;500;600;700&family=Noto+Serif:wght@400;500;600;700&family=Roboto+Slab:wght@400;500;600;700&display=swap";
function CompoundWebFonts() {
const [value, setValue] = useState<Date | null>(null);
const [active, setActive] = useState(0);
useEffect(() => {
if (!document.getElementById("web-fonts-link")) {
const link = document.createElement("link");
link.id = "web-fonts-link";
link.rel = "stylesheet";
link.href = FONT_URL;
document.head.appendChild(link);
}
}, []);
return (
<div>
<div style={{ display: "flex", gap: 6, marginBottom: 12, flexWrap: "wrap" }}>
{WEB_FONTS.map((f, i) => (
<button
key={f.name}
onClick={() => setActive(i)}
style={{
padding: "6px 14px",
border: `1px solid ${active === i ? "#3b82f6" : "#d1d5db"}`,
borderRadius: 6,
background: active === i ? "#eff6ff" : "#fff",
color: active === i ? "#3b82f6" : "#374151",
cursor: "pointer",
fontSize: 13,
fontFamily: f.family,
}}
>
{f.name}
</button>
))}
</div>
<div style={{ "--rdrp-font-family": WEB_FONTS[active].family } as React.CSSProperties}>
<DatePicker value={value} onChange={setValue} inline />
</div>
</div>
);
}
March 2026
Su
Mo
Tu
We
Th
Fr
Sa

ขนาดและน้ำหนักฟอนต์

ปรับแต่งความหนาแน่นของการพิมพ์อย่างละเอียดโดยการแทนที่ตัวแปรขนาดและน้ำหนัก:

VariableDefaultคำอธิบาย
--rdrp-font-size-xs11pxข้อความที่เล็กที่สุด
--rdrp-font-size-sm12pxป้ายกำกับวันในสัปดาห์
--rdrp-font-size-base13pxเซลล์วัน, ปุ่ม
--rdrp-font-size-md14pxทริกเกอร์, รายการเวลา
--rdrp-font-size-lg15pxชื่อเดือน
--rdrp-font-weight-normal400น้ำหนักพื้นฐาน
--rdrp-font-weight-medium500การเน้นปานกลาง
--rdrp-font-weight-semibold600วันที่เลือก, ชื่อเรื่อง
--rdrp-font-weight-bold700ตัวบ่งชี้วันนี้
import { useState } from "react";
import { DatePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
const presets = {
Compact: {
"--rdrp-font-size-xs": "9px",
"--rdrp-font-size-sm": "10px",
"--rdrp-font-size-base": "11px",
"--rdrp-font-size-md": "12px",
"--rdrp-font-size-lg": "13px",
"--rdrp-font-weight-semibold": "500",
"--rdrp-font-weight-bold": "600",
},
Default: {},
Large: {
"--rdrp-font-size-xs": "13px",
"--rdrp-font-size-sm": "14px",
"--rdrp-font-size-base": "15px",
"--rdrp-font-size-md": "16px",
"--rdrp-font-size-lg": "18px",
"--rdrp-font-weight-semibold": "700",
"--rdrp-font-weight-bold": "800",
},
};
type PresetName = keyof typeof presets;
function CompoundCustomFontPopup() {
const [value, setValue] = useState<Date | null>(null);
const [preset, setPreset] = useState<PresetName>("Default");
return (
<div>
<div style={{ display: "flex", gap: 6, marginBottom: 12 }}>
{(Object.keys(presets) as PresetName[]).map((name) => (
<button
key={name}
onClick={() => setPreset(name)}
style={{
padding: "6px 14px",
border: `1px solid ${preset === name ? "#3b82f6" : "#d1d5db"}`,
borderRadius: 6,
background: preset === name ? "#eff6ff" : "#fff",
cursor: "pointer",
fontSize: 13,
}}
>
{name}
</button>
))}
</div>
<div style={presets[preset] as React.CSSProperties}>
<DatePicker value={value} onChange={setValue} inline />
</div>
</div>
);
}
March 2026
Su
Mo
Tu
We
Th
Fr
Sa