css中关于两个class一起使用的问题
<styletype="text/css">.two{width:1002px;margin:0auto;color:red;}.one{color:blue;}</st...
<style type="text/css">
.two{ width:1002px; margin:0 auto; color:red; }
.one{color:blue; }
</style>
<body>
<p class="one two">同时使用两种class,同时使用</p>
</body>
问题:
为什么显示的不是红色,two是最后调用的,不是应该用红色覆盖one的蓝色吗? 展开
.two{ width:1002px; margin:0 auto; color:red; }
.one{color:blue; }
</style>
<body>
<p class="one two">同时使用两种class,同时使用</p>
</body>
问题:
为什么显示的不是红色,two是最后调用的,不是应该用红色覆盖one的蓝色吗? 展开
5个回答
展开全部
css覆盖的顺序,不是你写在 class 中选择器的顺序,而是样式定义的顺序,所以 class="one two" 跟 class="two one" 是一样的。
参考:http://www.cnblogs.com/zhangpengshou/archive/2012/08/08/2628737.html
参考:http://www.cnblogs.com/zhangpengshou/archive/2012/08/08/2628737.html
2013-04-28
展开全部
因为你的style中
.one写在了.two后面。
你的class中写了one和two,也就是同时定义了两种样式,浏览器解析顺序是这样的,先读取one和two,然后再style中寻找two的样式,找到了two先执行了红色(因为你的two写在前面),然后又找到了one然后就执行one覆盖了two了。这是你浏览器的解释顺序,但是需要注意的是,并不是所有的浏览器都是这样解析的,如果你自己写一个浏览器改变了解析顺序,则可能不会是这样的结果,我们写css最好不要写这种容易让浏览器误解的代码,如果不是必须这么写,尽量不要,如果非要,最好用js给解析前提前做一个判断然后指定成唯一的样式代码。避免误解。
.one写在了.two后面。
你的class中写了one和two,也就是同时定义了两种样式,浏览器解析顺序是这样的,先读取one和two,然后再style中寻找two的样式,找到了two先执行了红色(因为你的two写在前面),然后又找到了one然后就执行one覆盖了two了。这是你浏览器的解释顺序,但是需要注意的是,并不是所有的浏览器都是这样解析的,如果你自己写一个浏览器改变了解析顺序,则可能不会是这样的结果,我们写css最好不要写这种容易让浏览器误解的代码,如果不是必须这么写,尽量不要,如果非要,最好用js给解析前提前做一个判断然后指定成唯一的样式代码。避免误解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
取决于在这个个优先级
<style type="text/css">
.two{ width:1002px; margin:0 auto; color:red; }
.one{color:blue; }
</style>
.one在.two后面啊,
至于<p class="one two">这个里面的class先后顺序是无所谓的
<style type="text/css">
.two{ width:1002px; margin:0 auto; color:red; }
.one{color:blue; }
</style>
.one在.two后面啊,
至于<p class="one two">这个里面的class先后顺序是无所谓的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.one .two 的css部分 上下写反了
追问
有什么区别
追答
就近原则 .one 离它进一些自然就会是one的颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,你试试看变换style定义中.two和.one的顺序看看就明白咯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询