CSS ไม่ใช่ HTML เป็นการอ้างอิงอักขระที่มีชื่อใน HTML;  เทียบเท่ากับทศนิยมอ้างอิงตัวละครที่เป็นตัวเลข 160 เป็นจุดรหัสทศนิยมของNO-BREAK SPACEตัวละครในUnicode (หรือUCS-2 ; ดูข้อกำหนดHTML 4.01 ) เลขฐานสิบหกแทนจุดรหัสนั้นคือ U + 00A0 (160 = 10 × 16 1 + 0 × 16 0 ) คุณจะพบว่าในแผนภูมิรหัส Unicode และฐานข้อมูลตัวละครตัวฐานข้อมูล
ใน CSS คุณต้องใช้ลำดับ Unicode escape สำหรับตัวละครดังกล่าวซึ่งขึ้นอยู่กับค่าเลขฐานสิบหกของจุดรหัสของตัวละคร ดังนั้นคุณต้องเขียน
.breadcrumbs a:before {
content: '\a0';
}
สิ่งนี้ทำงานได้ตราบใดที่ลำดับการหลบหลีกมาเป็นค่าสตริง หากตัวละครเป็นไปตามมีสองวิธีในการหลีกเลี่ยงการตีความผิด:
a) (กล่าวถึงโดยคนอื่น ๆ ) ใช้เลขฐานสิบหกหกหลักที่แน่นอนสำหรับลำดับหนี:
.breadcrumbs a:before {
content: '\0000a0foo';
}
b) เพิ่มหนึ่ง white-space (เช่น space) อักขระหลังลำดับ escape:
.breadcrumbs a:before {
content: '\a0 foo';
}
(เนื่องจากfเป็นเลขฐานสิบหกหลัก\a0fมิฉะนั้นจะหมายถึงGURMUKHI LETTER EEที่นี่หรือਏหากคุณมีแบบอักษรที่เหมาะสม)
การลบพื้นที่สีขาวจะถูกละเว้นและสิ่งนี้จะปรากฏ fooขึ้นซึ่งพื้นที่ที่แสดงที่นี่จะเป็นNO-BREAK SPACEอักขระ
วิธีพื้นที่สีขาว ( '\a0 foo') มีข้อดีดังต่อไปนี้เมื่อเทียบกับวิธีหกหลัก ( '\0000a0foo'):
- มันเป็นเรื่องง่ายที่จะพิมพ์เนื่องจากไม่จำเป็นต้องมีเลขศูนย์นำหน้าและไม่ต้องนับตัวเลข
- มันเป็นเรื่องง่ายต่อการอ่านเพราะมี white-space ระหว่างลำดับ escape และข้อความต่อไปนี้และไม่จำเป็นต้องนับตัวเลข
- มันต้องใช้พื้นที่น้อยลงเพราะเลขศูนย์นำหน้าไม่จำเป็น
- มันเข้ากันได้มากขึ้นเพราะ Unicode รองรับจุดรหัสเกิน U + 10FFFF ในอนาคตจะต้องมีการแก้ไข CSS Specification
ดังนั้นเพื่อแสดงช่องว่างหลังจากที่ตัวละครหนีให้ใช้สองช่องว่างในสไตล์ชีท -
.breadcrumbs a:before {
content: '\a0 foo';
}
- หรือทำให้ชัดเจน:
.breadcrumbs a:before {
content: '\a0\20 foo';
}
ดูCSS 2.1, ส่วน "4.1.3 ตัวอักษรและตัวพิมพ์เล็ก"สำหรับรายละเอียด