我已在body
代码上设置了一个名为container
的课程,然后在我的CSS中,我尝试同时使用body.container
和{{1}然而无论发生什么,他们的图像都不会显示为身体背景。
浏览器在他们的检查员中清楚地表明它没有被应用。奇怪的是,在Firefox中,它在规则开头旁边显示一个红点,表示存在错误,你可以删除这个点,这使规则正常工作并正确应用。
我实际上是在编写预处理的SASS,它是由Rails预先编译的,而且很奇怪,在本地运行,它在运行时编译而不是预编译,它可以工作......
这是原始SCSS文件的简短摘录:
.container.
这是输出CSS的片段:
body.container {
background: url('background.jpg');
background-size: auto 110%;
background-repeat: no-repeat;
background-attachment: fixed;
font-family: "Tahoma";
.personalization_box {
position: absolute;
}
...
}
我在CSS验证时遇到以下错误:
#safari_rememberDiv{width:0px;height:0px;display:none}body.container{background:url("background.jpg");background-size:auto 110%;background-repeat:no-repeat;background-attachment:fixed;font-family:"Tahoma"}body.container .personalization_box{position:absolute;top:5%;width:80%;left:10%;height:90%;border-radius:15px;border:2px solid #5B5B5B;background-color:#FFF;overflow:hidden}
[它全部在一条线上,因为它是由Rails生成的,为了清楚起见,我可以将它分成多行。)
答案 0 :(得分:1)
我已经解决了这个问题并找到了问题的原因。
SASS在Rails中预处理的两个不同的.scss文件采用不同的字符编码,这使得预编译器插入了由\ufeff
描述的UTF-8 BOM,红点。通过将此文件的文件编码更改为ISO-8859-1(与其他文件匹配),从而在我的CSS中删除一些特殊引号(使用element::before
和content:
插入),能够解决这个问题。