2012-12-18 80 views
1

我正在写HTML/css代码,并且在IE6中有一个特定的错误。class in class,ie6中的bug

我想创造多变div的,使用类:

例如(这只是例子,不是真正的项目代码)

.top {width: 50px;} 
.top.selected {background: #f00;} 
.mid {width: 114px;} 
.mid.selected {background: #0f0;} 
.bot {width: 100px;} 
.bot.selected {background: #0ff; color: #f00;} 
...etc... 

所以,HTML会像:

<div class='top selected'>1</div> 
<div class='mid'>2</div> 
<div class='bot selected'>3</div> 

这将是伟大的程序员,但它不能在IE6工作:(

.topselected {background: #f00;} // <div class='top topselected'> ,但它是真的脏代码...也许有些黑客?

+4

支持IE6 ......认真吗? – Crozin

+0

Crozin,是的。我认为,如果html-coder不能编写crossbrowser-code,他是一个新手......添加一些**!important **标签并不难。 – jrrtGimli

+0

即使微软放弃了IE6。分手后要往前看了。哦,跨浏览器编码不适用于IE6。它适用于遵循标准的浏览器。 – j08691

回答

0

似乎喜欢的方式去这里将创造更多的语义类名,然后将其拆分出来,像这样:

.highlighted { background: #0f0; } 
.wide { width: 114px; } 
/* etc... */ 

,然后你必须将工作做好和国际海事组织的HTML,更容易维护。

+0

IE6不支持多个类! – falsarella

+0

@falsarella IE6不支持'class =“foo bar”'但不支持CSS'.foo.bar',因此这是有效的。 –

+0

在你的例子中,它会识别'foo'类吗?我认为即使使用'.foo {} .bar {}'它也会识别'bar'类,它会忽略'foo'css声明...... – falsarella