在下面的代码中,我想知道什么\
反斜杠可能意味着什么?我在学习的课程中没有遇到过反斜杠字符。我相信这段代码是用来识别浏览器大小的。
.container.\31 25\25 {
width: 100%;
max-width: 1500px; /* max-width: (containers * 1.25) */
min-width: 1200px; /* min-width: (containers) */
}
.container.\37 5\25 { /* 75% */
width: 900px; /* width: (containers * 0.75) */
}
.container.\35 0\25 { /* 50% */
width: 600px; /* width: (containers * 0.50) */
}
.container.\32 5\25 { /* 25% */
width: 300px; /* width: (containers * 0.25) */
}
根据spec http://www.w3.org/TR/CSS21/syndata.html#characters,
标识符还可以包含转义字符和任何 ISO 10646
字符作为数字代码(请参阅下一项)。例如,
标识符“黑白?”可以写成“B\&W\?”或“B\26 W\3F”。 [...]
在 CSS 2.1 中,反斜杠 (\) 字符可以
指示三种类型的字符转义之一。在 CSS 注释中,
反斜杠代表其本身,如果反斜杠立即代表
后面是样式表的末尾,它也代表它自己
(即 DELIM 代币)。
首先,在字符串内部,反斜杠后跟换行符将被忽略
(即,该字符串被视为不包含反斜杠或
新队)。在字符串之外,反斜杠后跟换行符
其自身(即 DELIM 后跟换行符)。
其次,它取消了特殊CSS字符的含义。任何
字符(十六进制数字、换行符、回车符或
换页)可以用反斜杠转义以删除其特殊的
意义。例如,“\””是由一个双引号组成的字符串。
样式表预处理器不得从样式表中删除这些反斜杠
样式表,因为这会改变样式表的含义。
第三,反斜杠转义允许作者引用他们想要的字符。
不能轻易放入文档中。在这种情况下,反斜杠是
后面最多跟随六个十六进制数字 (0..9A..F),分别代表
带有该数字的 ISO 10646 ([ISO10646]) 字符,不得
为零。 (CSS 2.1 中未定义如果样式表
确实包含 Unicode 代码点为零的字符。)如果一个字符
[0-9a-fA-F] 范围内的十六进制数的末尾
这个数字需要明确。有两种方法可以做到这一点:
- 带有空格(或其他空白字符):“\26 B”(“&B”)。在这种情况下,用户代理应将“CR/LF”对 (U+000D/U+000A) 视为
单个空白字符。
- 通过提供正好 6 个十六进制数字:“\000026B”(“&B”)
事实上,这两种方法可以结合起来。只有一个空白
十六进制转义后的字符将被忽略。请注意,这意味着
转义序列之后的“真实”空格必须加倍。
如果数字超出 Unicode 允许的范围(例如“\110000”
高于当前 Unicode 允许的最大 10FFFF),UA 可能
将转义符替换为“替换字符”(U+FFFD)。如果
要显示字符,UA 应显示可见的符号,
例如“缺失字符”字形(参见 15.2,第 5 点)。
因此,以下内容是等效的:
.container.\31 25\25 <--> .container[class ~= "125%"]
.container.\37 5\25 <--> .container[class ~= "75%"]
.container.\35 0\25 <--> .container[class ~= "50%"]
.container.\32 5\25 <--> .container[class ~= "25%"]
请注意,转义很重要,否则它们将不是有效的标识符(强调我的):
In CSS, 身份标识(包括元素名称、类和 ID)选择器 http://www.w3.org/TR/CSS21/selector.html) 只能包含字符 [a-zA-Z0-9] 和 ISO 10646
字符 U+00A0 及更高字符,加上连字符 (-) 和下划线
(_);他们不能以数字开头、两个连字符或后跟一个连字符
按一位数字。
因此,以下内容无效:
.container.125%
.container.75%
.container.50%
.container.25%
也许用这个小提琴可能会更清楚:
.container {
background: red;
margin: 10px;
}
.container.\31 25\25 { /* 125% */
width: 100%;
max-width: 1500px; /* (containers * 1.25) */
min-width: 1200px; /* (containers * 1.00) */
}
.container.\37 5\25 { /* 75% */
width: 900px; /* (containers * 0.75) */
}
.container.\35 0\25 { /* 50% */
width: 600px; /* (containers * 0.50) */
}
.container.\32 5\25 { /* 25% */
width: 300px; /* (containers * 0.25) */
}
<div class="container 125%">125%</div>
<div class="container 75%">75%</div>
<div class="container 50%">50%</div>
<div class="container 25%">25%</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)