作者Peruheru (还在想)
看板Web_Design
标题[问题] CSS选择器 "子元素" 作用於IE7-9的问题
时间Wed Nov 5 14:26:13 2014
大家好
这个问题纯粹是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 也一样失效...
怎麽会这样...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.18.8
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Web_Design/M.1415168777.A.823.html
※ 编辑: Peruheru (220.134.18.8), 11/05/2014 14:27:38
1F:推 leochen0818: IE 7 应该是支援">"的噢,可能是其他因素或设定造成 11/06 10:37
2F:→ leochen0818: 的,有原始码会比较好找原因。 11/06 10:38
3F:推 Ammenze: 直觉认为是js做了什麽事情,推楼上,有原始码比较好debug 11/06 12:06
加上去的JS其实是字体厂商提供的外字转换的功能
因为网站跟资料库编码是Big5,有一大堆不能显示的名字得经过转换来显示
没有其他JS了,隐藏跟显示功能完全只靠CSS达成
※ 编辑: Peruheru (220.134.18.8), 11/06/2014 16:31:45
4F:推 alog: ignore ie7 11/06 18:43
5F:→ alog: ie7并没有支援 11/06 18:44
6F:→ alog: 我的做法是 视觉不影响到为主 排版还是尽量不靠> 11/06 18:44
7F:推 hit1205: IE7是支援的唷,不过如果开头没有<!DOCTYPE>就会不支援 11/07 05:55
网页开头是<!DOCTYPE HTML>
这样应该...有符合条件吧
※ 编辑: Peruheru (220.134.18.8), 11/07/2014 12:03:32
8F:→ alog: 你的ie是打过patch的 11/07 23:12
9F:→ alog: CSS 2.1 Selector 完整支援在IE8开始之後的事 11/07 23:12