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 ตัวอักษรและตัวพิมพ์เล็ก"สำหรับรายละเอียด