Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.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
Html Openwave移动浏览器误解了CSS子选择器和子选择器_Html_Css_Mobile - Fatal编程技术网

Html Openwave移动浏览器误解了CSS子选择器和子选择器

Html Openwave移动浏览器误解了CSS子选择器和子选择器,html,css,mobile,Html,Css,Mobile,我正在设计一个网站,并在运行Openwave移动浏览器6.2.3.2的LG VX8360手机上进行测试。在我的网站上,很多事情看起来都不对劲,我注意到浏览器没有正确处理CSS子选择器或子选择器。我制作了一个这样的页面: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head> &l

我正在设计一个网站,并在运行Openwave移动浏览器6.2.3.2的LG VX8360手机上进行测试。在我的网站上,很多事情看起来都不对劲,我注意到浏览器没有正确处理CSS子选择器或子选择器。我制作了一个这样的页面:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mobile test</title>
<style type="text/css">
div div {
    background: yellow}
</style>
</head>
<body>
<div>test 1 - this div should have no background</div>
<br>
<div><div>test2 - this div should have a yellow background</div></div>
</body></html>

移动测试
div div{
背景:黄色}
测试1-此div应该没有背景

test2-这个div应该有一个黄色的背景
我只希望第二组有黄色背景,但在我的手机上,两组都是黄色的。我能做些什么?有人知道一些解决方法吗?我在谷歌上搜索,找不到任何有用的东西

编辑:我想补充一点,我为页面提供的是“缓存控制:无转换”标题,因此我怀疑代理或转码器是否会改变任何内容

我做了Felipe建议的一些测试。无论声明后是否有分号,我都看到了同样的事情。我试着去掉样式元素,将黄色背景放在内部test2div的一个样式属性中,一切都按预期进行。我尝试添加“div{background:red;}”,但两个div仍然是黄色的。我切换了测试1和测试2的div,它们都是黄色的

此外,我尝试访问此代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mobile test</title>
<style type="text/css">
div {
    background: red;}
.foo div {
    background: yellow;}
</style>
</head>
<body>
<div>test 1 - this div should be red.</div>
<br>
<div class="foo"><div>test 2 - this div should be yellow.</div></div>
</body></html>

移动测试
div{
背景:红色;}
傅分区{
背景:黄色;}
测试1-此div应为红色。

测试2-该div应为黄色。
两个div都是红色的。我用id而不是类做了类似的事情,两个div都是红色的

然后,我尝试将类放在内部div上,并使用选择器“div.foo”或just.foo”选择它,它工作得很好,大概是因为它不涉及子选择器或后代选择器。如果我改用ID,情况也一样

我尝试将字符集设置为ISO-8859-1,但所有操作都是一样的,因此我认为这与问题无关。我去掉了meta标签,一切都没变

我尝试将CSS放在一个外部文件中。当我使用link元素包含它时,我看到的结果与以前相同。如果我尝试使用@import包含它,我看不到任何样式。我的手机似乎无法访问使用@import引用的CSS文件

不用说,这快把我逼疯了。我做的测试越多,情况就越奇怪。我能怎么办

编辑2:我当然可以买一部新手机,但我正在尝试创建一个可以在任何支持互联网的设备上运行的网站

编辑3:我查看了移动CSS兼容性,但找不到关于我的浏览器的任何信息。我将要查看博客帖子


编辑4:我找不到任何关于此浏览器支持或不支持哪种CSS功能以及如何解决问题的全面、客观的信息。如果这是一个晦涩、过时、不受欢迎的浏览器,我会忘记这个问题。然而,几天前我走进一家Verizon商店,在他们的一些手机上测试我的网站,我发现很多全新的手机似乎都有这个浏览器的相同版本,还有它的漏洞。

Peter Paul Koch测试和兼容表以及移动浏览器上的博客帖子可以帮到你很多:
你可以从它的测试开始

它是一个WAP浏览器(显然)与HTML网站有问题吗?如果可能的话,可以购买Opera或其他手机(智能手机)或。。。混合吗?:)或者建立一个WAP网站(编辑:以防万一,我在和WAP网站开玩笑)

否则,正如我在对你的问题的评论中提到的,还需要进一步的测试

  • 两个div的样式都不同
  • 以不同的方式加载CSS(老式的@import,样式属性还可以吗)
  • 删除样式元素上的type属性(仍在尝试以不同方式加载CSS)
  • 通过添加文本和完全不同的div顺序,使HTML代码略有不同
  • id和类选择器
  • id和类选择器组合到一个元素
  • UTF-8是个问题吗
  • 删除每个端点标记
  • 删除doctype
  • 删除元数据

您需要进一步的测试:请添加
div{background:red;}
,一个分号(即使不需要),在HTML代码中切换div和div-div的顺序,在和之间添加一些文本,带有结束标记,等等他是否理解诸如“element#id”、“element class”、样式属性、通过链接或@import的外部CSS文件等选择器?其他编码呢?测试结果见我的帖子。