[问题] CSS选择器 "子元素" 作用于IE7-9的问题

楼主: Peruheru (还在想)   2014-11-05 14:26:13
大家好
这个问题纯粹是CSS的问题,所以我想应该是在这里问吧?
是这样的
维护的网页使用CSS来完成隐藏某区块,直到鼠标移过去才显示特殊的样式的效果
原本的写法是像这样
...
.someClass a span {...(隐藏与设定显示样示)...}
.someClass a:hover span {...(改为显示)...}
...
样式的写法本身没有问题
但因为后来加上某个JS功能后
JS会自动在目前对象的span里面加上span
造成版面混乱
我的解法是改成
.someClass a > span { ... }
这样子就解决了上面遇到的问题
但后来有史用者(无误)回报
用IE7开的话CSS都失效了,原本隐藏的都跑出来了
后来发现是我加上去的 > 符号造成
去掉后就恢复隐藏功能,只是版面又乱掉
只好另外用其他方式解决
后来我查wiki http://tinyurl.com/nxtms2z
上面显示
E > F 子元素 Trident 7.0
再查 Trident 7.0,发现他表示 IE 11.0.x
这表示在 IE11 之前都不支援 > 的子元素选择器 ??
可是依照 http://kimblim.dk/css-tests/selectors/
IE7 应该有支援 > 的写法才对阿?
那到底为什么这个写法会失效 orz
更神奇的是对方说连非模拟模式的原生 IE9 也一样失效...
怎么会这样...
作者: leochen0818 (Leo)   2014-11-06 10:37:00
IE 7 应该是支援">"的噢,可能是其他因素或设定造成的,有原始码会比较好找原因。
作者: Ammenze (蓝天白云)   2014-11-06 12:06:00
直觉认为是js做了什么事情,推楼上,有原始码比较好debug
作者: alog (A肉哥)   2014-11-06 18:43:00
ignore ie7ie7并没有支援我的做法是 视觉不影响到为主 排版还是尽量不靠>
作者: hit1205 (帮你把勇气装满)   2014-11-07 05:55:00
IE7是支援的唷,不过如果开头没有<!DOCTYPE>就会不支援
作者: alog (A肉哥)   2014-11-07 23:12:00
你的ie是打过patch的CSS 2.1 Selector 完整支援在IE8开始之后的事

Links booklink

Contact Us: admin [ a t ] ucptt.com