Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';t my css`content:`在多个浏览器中工作,并总体上提高跨浏览器兼容性_Javascript_Html_Css_Cross Browser - Fatal编程技术网

Javascript 为什么不是';t my css`content:`在多个浏览器中工作,并总体上提高跨浏览器兼容性

Javascript 为什么不是';t my css`content:`在多个浏览器中工作,并总体上提高跨浏览器兼容性,javascript,html,css,cross-browser,Javascript,Html,Css,Cross Browser,我正在进行我的第一个实践HTML/CSS项目,并且已经开始尝试使所有内容在浏览器之间兼容。我的代码目前适用于Firefox、IE和Edge。它只是不工作在铬。我有一个按钮,应该显示一个向上和向下箭头,点击时切换文本。我很想知道如何提高兼容性,但现在我会具体说明 我最初问过如何在中尝试将所需的向上箭头更改为向下箭头效果,我使用的代码来自于唯一的答案。代码和JSFIDLE如下所示。JSFIDLE似乎完美地复制了这个问题——在Firefox中运行良好,而不是在Chrome中 JavaScript:

我正在进行我的第一个实践HTML/CSS项目,并且已经开始尝试使所有内容在浏览器之间兼容。我的代码目前适用于Firefox、IE和Edge。它只是不工作在铬。我有一个按钮,应该显示一个向上和向下箭头,点击时切换文本。我很想知道如何提高兼容性,但现在我会具体说明

我最初问过如何在中尝试将所需的向上箭头更改为向下箭头效果,我使用的代码来自于唯一的答案。代码和JSFIDLE如下所示。JSFIDLE似乎完美地复制了这个问题——在Firefox中运行良好,而不是在Chrome中


JavaScript:

function funcAbout() {
    var btn = document.getElementById("undernavbtn");
    btn.classList.toggle("active")
}
HTML:


关于如何更改此代码以使其在多个浏览器中显示,有什么想法吗


谢谢你的帮助

这一定是某种字符编码问题。我在UTF-8工具中试用过,它显示在firefox中,但在chrome中没有。如果你想自己测试的话

我不知道你为什么决定使用这个特定的字符,但既然你说这是你第一次使用HTML和CSS,我想说这可能没关系,只要选择另一个字符就行了


虽然这是一个有趣的问题,但它甚至可能是chrome中的一个bug,但我建议在做出这样的声明之前进行更彻底的研究

这是因为并非每个字体的字形集中都有每个字符。此外,并非每个浏览器都使用相同的默认字体系列。例如,至少在我的Windows10操作系统上,Chrome默认为Times New Roman、Arial和Console。而Firefox默认为Segoe UI Symbol和Tahoma,至少在UI界面元素上是这样

使字符在大多数浏览器中可见的一种方法是使用包含该字形的字体族。例如,由于Segoe用户界面符号包含可以执行的箭头

#undernavbtn.active span::after {
  content: " \23f7"; 
  font-family:Segoe UI Symbol;
}
演示

函数funcAbout(){
var btn=document.getElementById(“undernavbtn”);
btn.classList.toggle(“活动”)
}
#在navbtn span::之后{
内容:“\23f6”;
字体系列:Segoe用户界面符号;
}
#undernavbtn.active span::after{
内容:“\23f7”;
字体系列:Segoe用户界面符号;
}

按钮
不要使用
::在
之后,使用
:在
之后,这可能会解决您的问题。@Aeolingamenfel此问题上次出现在IE8上,所有较新的浏览器支持
选择器都正确。特别是如果它在chrome中不起作用,而chrome从一开始就支持该功能。@Aeolingamenfel,我认为这没有帮助,但我确实注意到我的评估有误。内容实际上只是没有出现在Chrome中。它适用于Firefox、IE和Edge。我会用正确的信息更新我的OP。谢谢你的回答!关于字符编码还有很多我不知道的地方,所以我对这件事一无所知。就选择这个角色而言,这似乎是向上和向下箭头/三角形中最好的一个。我需要在另一个角色中寻找什么来确保它在Chrome和其他浏览器中都能正常工作?我是在寻找一种不同的编码类型,还是我选择的字符有问题?@ThatGuy7不确定应该使用什么。我从来没有对默认字体这样做过,通常我会使用bootstrap或font awesome中的字形,它们为这些字符提供自定义字体,以确保它们跨浏览器工作。Segoe UI Symbol仅为windows修复了它(我猜是这样)。我在OS X上试用了Chrome,但问题仍然存在。对于真实世界的使用,我建议使用类似引导中的glyphicons或font awesome的东西,它们提供支持特殊字符的实际字体。另外,它看起来很漂亮。
#undernavbtn span::after {
  content: " \23f6"; 
}

#undernavbtn.active span::after {
  content: " \23f7"; 
}
#undernavbtn.active span::after {
  content: " \23f7"; 
  font-family:Segoe UI Symbol;
}