首页
学习
活动
专区
圈层
工具
发布

CSS2多类
EN

Stack Overflow用户
提问于 2009-07-15 14:39:42
回答 3查看 149关注 0票数 0

我有以下HTML:

代码语言:javascript
复制
<DIV class="foo bar"></DIV>

我正在尝试创建一个与所述元素匹配的CSS类声明。浏览一下specs on section 8.2.3,我想这应该是可行的:

代码语言:javascript
复制
DIV.foo.bar { border-color: black; }

但是我已经在IE和Safari上测试过了,它们都不影响元素。有什么窍门可以让它工作吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-15 14:47:45

我认为这是因为您指定了"border-color: black“,而没有指定边框宽度或边框样式。尝试设置“边框:实心1px黑”,看看是否有效。

票数 4
EN

Stack Overflow用户

发布于 2009-07-15 14:42:25

这里有三个潜在的问题。

你的表达式和是否正确?

您的div没有边框宽度(根据您发布的内容),因此您可能得不到边框。尝试:

代码语言:javascript
复制
<div class="foo bar"></div>

使用

代码语言:javascript
复制
div.foo.bar { border: 1px solid black; }

2.你的有高度吗?

您的div (基于您发布的内容)没有高度。现在,在一些浏览器上,将呈现为边框粗细的实线。根据邻近元素和边框折叠设置(特别是在Firefox上比IE/Safari更多),边框在某些情况下可能会消失。

3. IE6不能正确支持多个类选择器

多类选择器在IE6中不工作(正确)。请参见multiple classesbrowser support table

通常,这里的技巧是嵌套div:

代码语言:javascript
复制
<div class="foo"><div class="bar"></div></div>

当然,然后:

代码语言:javascript
复制
div.foo div.bar { ... }

显然不是一回事,但你没有太多的选择。另一种方法是手动组合这些类:

代码语言:javascript
复制
div.foo { background: red; }
div.bar { border: 1px solid black; }
div.foobar { background: red; border: 1px solid black; }

<div class="foobar"></div>

再说一次,这离理想还很远。但是在IE6上你能做的就这么多了。

票数 5
EN

Stack Overflow用户

发布于 2009-07-15 14:49:10

在同一元素上有多个类的IE6 doesn't support选择器。据推测,IE-7.js脚本可以解决这个问题。

您的选择器应该可以在IE7+和最新版本的Safari中正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1131819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档