我知道具有最高特异性的CSS选择器优先(即.classname< #idname).
我也知道如果事情具有相同的特异性,那么最后一个被调用的语句优先:
.classname1 { color: red; }
.classname1 { color: blue; } // classname1 color will be blue
Run Code Online (Sandbox Code Playgroud)
DOM元素上的HTML类的排序是否会影响语句优先级?
如果我有一个样式类定义如下:
.myclass{
//bunch of other stuff
float:left;
}
Run Code Online (Sandbox Code Playgroud)
我定义了另一个这样的类:
.myclass-right{
float:right;
}
Run Code Online (Sandbox Code Playgroud)
我用这种方式定义div:
<div class="myclass myclass-right"></div>
Run Code Online (Sandbox Code Playgroud)
这个div是否会继承myclass中的所有内容,但会将float属性覆盖为float:对吗?这就是我期望发生的事情.还有点想知道是否有任何跨浏览器的含义(良好的浏览器与IE 7或更高版本,f***IE6).
关于HTML 类属性,它将CSS类(或类?)分配给标记.空间的使用,如在
<tag class="a b">....</tag>
Run Code Online (Sandbox Code Playgroud)
已验证?
某些Web设计人员使用此语法,并将其发生到Adobe InDesign的导出HTML(使用版本5和6进行测试)以及另一个HTML生成软件......
It(class="a b")是一个有效的W3C语法? 什么版本的CSS和HTML?(从哪个版本开始有效?)
编辑:一个自然的子问题 "W3C说如何解释它?" (这是"覆盖"或其他再现行为?)在这里发布.
我们不能让斑马条纹在jqGrid中工作.
我们使用altclass和altRows - 问题是看来ui-widget-contentJQuery UI 中的类有一个background覆盖我们altclass background设置的设置.有任何想法吗?
更新:以下两个答案都有效.到目前为止,Oleg是最干净的解决方案.
对于Oleg的解决方案,必须在包含JQuery UI CSS类之后定义altRows类,因为JQuery UI和自定义alt行类都定义了background属性和最后定义的类类wins.
我目前需要将库的通用组件集成到多个网站中。组件库目前有一个全局样式。他们以下列方式注入:
<Global
styles={`
div {
padding: 0;
}
`}
/>
Run Code Online (Sandbox Code Playgroud)
我希望“全局样式”仅适用于该库的组件。它们只出现在页面的一部分上。
所以我试过这个:
const Styles = styled.div`
div {
padding: 0;
}
`;
const Page = () => (
<Styles>
<SomeComponentsOfTheLibrary />
</Styles>
);
Run Code Online (Sandbox Code Playgroud)
但似乎所有的东西Styles都有优先权。然后,如果组件padding: 10px;将采取padding: 0;的Styles
这是重现的问题:
我知道这是一个 css 问题,但我想用情感来解决它
我已经看到了:
关于分配有两个或多个类名的HTML 类属性,即
<tag class="a b">....</tag>
Run Code Online (Sandbox Code Playgroud)
我可以用不同的浏览器测试它 - 参见http://jsfiddle.net/PP9yf/1/上的测试或这个问题/答案 - 并推导出常识规则:
使用
class="a"如果它被定义,或者使用class="b",如果它被定义,或者同时使用如果两个定义 ......而且,同时使用时,如果他们分配相同的属性,最后CSS定义覆盖他人.
因此,我们可以解释例如class="a b"必须与之相同class="b a".
但它是W3C官方解释?
哪个W3C标准说这个规则?
PS:我从另一个问题开始,但我的动机是软件开发.我需要这个规范的答案来开发类似于emogrifier等的软件.
示例:CssToInlineStyles需要进行此更正...但只需要"更正",如果有W3C标准并且说软件错误.