为什么我的 CSS 文件中的第一个选择器会被浏览器忽略?
Why is the first selector in my CSS file ignored by browsers?
我今天和这个问题打了几个小时,想分享一下问题和解决方案。该解决方案可以帮助进行一些搜索:
- 为什么我的 CSS 文件中的第一个选择器被浏览器忽略?
- 为什么我的 CSS 文件中的第一行被浏览器忽略?
- 为什么浏览器会忽略通用选择器?
我不相信我已经触及了我的网络项目的 CSS,但是我一直在进行一些更新,并更改一些配置。突然之间,造型就偏离了。使用浏览器中的检查器,我发现我的 CSS 重置没有应用。
我的 CSS 文件开头为:
* {box-sizing:border-box;font-size:100%;line-height:1.5em;font-family:'Open Sans', sans-serif;vertical-align:baseline;word-wrap:break-word;word-break:break-word;margin:0;padding:0;border:0;-webkit-tap-highlight-color: rgba(0,0,0,0);}
我已经发现不是通用选择器被忽略了...因为如果我在上面添加一行 html {};
,通用选择器将再次激活。
我认为它可能是被忽略的第一行...所以我将 html {};
更改为注释行...然后下一行的第一个选择器不再起作用。
不知何故 CSS 文件以字节顺序标记开头。
这在 Visual Studio 代码或 vim 中不可见,但在 Chrome 的检查器中可以巧妙地看到:
作为第一行第一个字符的红点是字节顺序标记。在检查器中对其进行编辑解决了该问题(对于该加载实例)。
我不确定它是如何潜入到一个文件中的……但是使用 vim:
删除它很简单
- 打开 vim 中的文件:
vim <filename>
- 使用
:set nobomb
删除 BOM
- 保存并退出:
:w:q
希望这可以帮助其他人节省一些时间!
注意:可能是文件的提供方式有问题。它是由 Drupal 使用 print file_get_contents();
输出的,可能在 BOM 之前插入了一个额外的换行符。也许如果 BOM 实际上是第一个字符,那就没问题了?
我今天和这个问题打了几个小时,想分享一下问题和解决方案。该解决方案可以帮助进行一些搜索:
- 为什么我的 CSS 文件中的第一个选择器被浏览器忽略?
- 为什么我的 CSS 文件中的第一行被浏览器忽略?
- 为什么浏览器会忽略通用选择器?
我不相信我已经触及了我的网络项目的 CSS,但是我一直在进行一些更新,并更改一些配置。突然之间,造型就偏离了。使用浏览器中的检查器,我发现我的 CSS 重置没有应用。
我的 CSS 文件开头为:
* {box-sizing:border-box;font-size:100%;line-height:1.5em;font-family:'Open Sans', sans-serif;vertical-align:baseline;word-wrap:break-word;word-break:break-word;margin:0;padding:0;border:0;-webkit-tap-highlight-color: rgba(0,0,0,0);}
我已经发现不是通用选择器被忽略了...因为如果我在上面添加一行 html {};
,通用选择器将再次激活。
我认为它可能是被忽略的第一行...所以我将 html {};
更改为注释行...然后下一行的第一个选择器不再起作用。
不知何故 CSS 文件以字节顺序标记开头。
这在 Visual Studio 代码或 vim 中不可见,但在 Chrome 的检查器中可以巧妙地看到:
作为第一行第一个字符的红点是字节顺序标记。在检查器中对其进行编辑解决了该问题(对于该加载实例)。
我不确定它是如何潜入到一个文件中的……但是使用 vim:
删除它很简单- 打开 vim 中的文件:
vim <filename>
- 使用
:set nobomb
删除 BOM
- 保存并退出:
:w:q
希望这可以帮助其他人节省一些时间!
注意:可能是文件的提供方式有问题。它是由 Drupal 使用 print file_get_contents();
输出的,可能在 BOM 之前插入了一个额外的换行符。也许如果 BOM 实际上是第一个字符,那就没问题了?