html-CSS优先级的小问题,谢谢了

问题描述

CSS优先级的小问题,谢谢了
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<style>
    .main{width:200px; height:200px; background:black;}
    .main ul li{background:white;}
    .on{background:blue;}
</style>
<body>
<div class="main">
    <ul>
        <li class="on">第一行文字的颜色为什么不是blue</li>
        <li>第一行文字</li>
        <li>第一行文字</li>
        <li>第一行文字</li>
    </ul>
</div>
</body>
</html>

第一行文字的颜色为什么不是blue?
明明给第一行的li定义class了啊

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<style>
    .main{width:200px; height:200px; background:black;}
    .main ul li{background:white;}
    #on{background:blue;}
</style>
<body>
<div class="main">
    <ul>
        <li id="on">第一行文字的颜色是blue了</li>
        <li>第一行文字</li>
        <li>第一行文字</li>
        <li>第一行文字</li>
    </ul>
</div>
</body>
</html>

用id选择器就好了

难道.main ul li 的优先级大于 class='on' ??

解决方案

从CSS代码存放位置看权重优先级:内嵌样式 > 内部样式表 > 外联样式表。其实这个基本可以忽视之,大部分情况下CSS代码都是使用外联样式表。

从样式选择器看权重优先级:important > 内嵌样式 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符。

important的权重为1,0,0,0
ID的权重为0,1,0,0
类的权重为0,0,1,0
标签的权重为0,0,0,1
伪类的权重为0,0,1,0
属性的权重为0,0,1,0
伪对象的权重为0,0,0,1
通配符的权重为0,0,0,0
(A) .main ul li{background:white;} /*0,0,1,2*/ /*= 12*/
(B) .on{background:blue;} /*0,0,1,0*/ /*= 10*/
(C) #on{background:blue;} /*0,1,0,0*/ /*= 100*/
所以优先级:C>A>B

参考文章如下:
1、http://www.cnblogs.com/52css/archive/2012/06/07/2540550.html
http://wenku.baidu.com/link?url=SxULPRpoqoAEdTSuKxxlJqCDecVogWdRc3Hp_RxFkht4tsIi_mve1omPaxA4QQ4T1jUop8Ms7WPx0trA6jrf2SCVpT47beSmiPoV_H5IDb_

解决方案二:

JS,CSS加载中的小问题
CSS优先级
css的优先级

解决方案三:

可以搜索 “CSS权重优先级”会有更详细的解答

解决方案四:

用类选择器的话on要写成main的下面
.main .on{}就可以了

时间: 2024-10-04 00:15:37

html-CSS优先级的小问题,谢谢了的相关文章

div布局-HTML中PNG图片的绝对定位的小问题,谢谢了

问题描述 HTML中PNG图片的绝对定位的小问题,谢谢了 <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> *{margin:0; padding:0;} .A{background:#ccc; width:800px; height:50px; position:relative; top

css优先级

原文:css优先级 为什么要写这篇文章是因为 <!DOCTYPE html> <html> <style type="text/css"> body h1 { color: green; } html h1 { color: purple; } </style> </head> <body> <h1>Here is a title!</h1> </body> </html&

javascript-用JS改滚动条数值的小问题,谢谢了

问题描述 用JS改滚动条数值的小问题,谢谢了 这段代码测试了没有bug <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <style type="text/css"> .main{width:100%; height:3000p

css优先级探讨

这篇文章是对于CSS优先级的探讨,您是否能熟练使用了呢? css优先级的四大原则: 原则一: 继承不如指定 如果某样式是继承来的永远不如具体指定的优先级高. 例子1: CODE: <style type="text/css"> <!-- *{font-size:20px} .class3{ font-size: 12px; } --> </style> <span class="class3">我是多大字号?</

js动态调用css属性的小规律

 本篇文章主要介绍了js动态调用css属性的小规律及实例说明.需要的朋友可以过来参考下,希望对大家有所帮助 刚才看到一篇好的文章介绍js调用css属性,( ^_^ )不错嘛!免的自己忘记,总结一下   1.对于没有中划线的css属性一般直接使用style.属性名即可.   如:obj.style.margin,obj.style.width,obj.style.left,obj.style.position等.   2.对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成

css优先级机制说明

原文:css优先级机制说明 首先说明下样式的优先级,样式有三种: 1. 外部样式(External style sheet) 示例: <!-- 外部样式 bootstrap.min.css --> <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"> 2.内部样式(Internal style sheet) 示例: <head>

javascript-JS里全局全局变量的小问题,谢谢啦

问题描述 JS里全局全局变量的小问题,谢谢啦 如果把选框内的代码挪到箭头的位置,为什么图片隐身这个效果就实现不了呢? 函数外面放一个用alert(value); 弹出来的value的值一直是变化的, 为什么document.getElementById('pic').style.opacity=value/100;放到函数外面, value的值就传递不进来了? 解决方案 放在外面就不属于函数了,那么它只会执行一次.不会随定时器执行. 解决方案二: 没有执行,不在function内部,没有触发它执

javascript-JS无干扰事件的小问题,谢谢啦

问题描述 JS无干扰事件的小问题,谢谢啦 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <input value="点击0" type="button"/> <input v

html5-JS里关于布局的一个小问题,谢谢啦(问题描述的很明确)

问题描述 JS里关于布局的一个小问题,谢谢啦(问题描述的很明确) 一个简化版的导航,A是一级菜单,B是二级菜单 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{margin:0; padding:0; list-style-type:none;} nav{