关于CSS样式冲突排序的一个小试验

按照我们对CSS优先权的理解,最后定义的 CSS 样式将会覆盖在其之前定义的所有已经存在、或与之冲突的样式,比如下面这个例子:

 代码如下 复制代码
p { color: red; background: yellow }
p { color: green }

  以上的段落最终将呈现绿色的字体,并带有黄色的背景,这是因为最后定义的 color:green 将之前定义的 red 覆盖掉了,至于黄色背景为何没有消失,那是因为第二个 p 的定义中并没有与之冲突的定义,因此它还是有效的。

 代码如下 复制代码
p { color: red; background: yellow }
p { color: green }

   [ 可先修改部分代码 再运行查看效果 ]
  或许你认为你已经理解了。你真的懂了吗?好,我们来做个小测试。

 代码如下 复制代码
.red { color: red }
.green { color: green }
.blue { color: blue }
...
<p class="red green blue"></p>
<p class="green blue red"></p>
<p class="blue red green"></p>

  请问,最终显示的时候,上面三个段落中的文字都将呈现何种颜色呢?
  请不要急着运行下面的代码,你思考思考,会是什么色彩??????
  好了,你已经思考定了,我们看运行的效果吧:

 代码如下 复制代码

.red { color: red }
.green { color: green }
.blue { color: blue }

   [ 可先修改部分代码 再运行查看效果 ]
  答案是它们都显示为 blue ,也就是蓝色,尽管每个段落都以不同顺序应用了三个段落样式,看上去应该按照应用样式的顺序来决定颜色,比如,第一个显示为 blue ,第二个显示为 red ,第三个显示为 green ,其实这是错误的,这与应用样式的顺序无关,它们最终都听从最后指定的样式,颜色皆为 blue !以后遇到类似的问题请不要苦恼了,因为上面的试验已经给了你答案。 

时间: 2025-01-26 23:39:42

关于CSS样式冲突排序的一个小试验的相关文章

select-动态创建标签并制定css样式

问题描述 动态创建标签并制定css样式 动态创建了一个select标签,var el = document.createElement('select'); 怎样制定select 的宽度,el.width="100px",不行,el.setAttribute("style","width:100px")也不行,有没有其他方法?用的ie8. 解决方案 el.style.width="100px" ?

关于线程的一个小问题:

问题描述 关于线程的一个小问题: 写十个线程,第一个线程求1到10的和,第二个11到20的和,第三个求21到30的和...第10个求91到100的和,求十个线程的和 解决方案 new是个Thread,每个Thread传入起始数字 解决方案二: 我觉得是否可以这样,你创建10个线程,在线程函数中增加一个flag参数,另外,创建一个全局的数组,10个元素,分别存放10个线程自己的值, 在运行这些线程的时候,传入falg参数,比如: static a[10] int; flag int; sum in

为打印输出创建一个CSS样式

css|创建|打印 有的时候,你可以不必在你的Web站点上创建一个独立的与打印相关的页面. 大多数的Web页面都显示在电脑屏幕上,人们通过屏幕观看,但是,有时候用户想要将一些网上的内容打印出来,这就需要与打印媒体连接起来.由于原来采用的是能让Web页面在屏幕上显示的效果很好的那种格式,但在打印时效果并不那么好,Web创建者们通常都会创建一些独立的页面,这些页面与打印机联系紧密,而用户也需要经常打印这些页面.但如果你使用了XHTML标记和CSS,你就没必要再创建一个独立的与打印机相连接的页面了,你

小技巧:如何在Frontpage中定义CSS样式?

css|frontpage|技巧 当很多人发现在DW4中定义CSS很方便的时候,开始报怨FP2000不能定义CSS,甚至就此抨击FP2000如何的不好.事实上,在FP2000中定义CSS是很容易的,甚至在某些方面比DW4中定义更方便! 定义HTML标记的样式 在Frontpage2000下,选择菜单"格式/样式",会弹出一个定义样式的窗口,在CSS列表下拉菜单(位于左下)中,选"所有的HTML标记", 这时在左边的列中会出现大部分常用的HTML标记,选中一个,然后点

鼠标移入移出改变CSS样式的小例子

网页上的某个区域,当鼠标移入时改变样式,鼠标移出时自动恢复样式,可以是一个图片的边框,也可以一段文字变色,掌握了原理,貌似可以做更加丰富生动的网页互动效果,这里主要是利用Js控制Hover标签所在的DIV产生动作,也是学习的好范例. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&

用JS实现一个页面多个css样式实现_javascript技巧

第一步:在连接样式表的元素里定义一个id,例如 复制代码 代码如下: <link href="1.css" rel="stylesheet" type="text/css" id="css">, 我定义的id是css. 第二步:写一个js函数,代码如下: 复制代码 代码如下: <script type="text/javascript">  function change(a){  

CSS样式表常用小技巧收藏_经验交流

· ul 标签在 Mozilla 中默认是有 padding 值的,而在 IE 中只有 margin 有值.  · 同一个的 class 选择符可以在一个文档中重复出现,而 id 选择符却只能出现一次:对一个标签同时使用 class和 id 进行 CSS 定义,如果定义有重复,id 选择符做的定义有效.  · 初学可能会碰到这样一个情况,同样一个标签的属性在 IE 设置成 A 显示是正常的,而在 Mozilla 里必须要设成 B 才能正常显示,或者两个倒过来. 临时解决方法:选择符 {属性名:B

用div+css样式做一个如图的表单

问题描述 用div+css样式做一个如图的表单 解决方案 DIV居中样式的CSSDIV+CSS input样式简单控制关于表单按钮的css样式大全 解决方案二: 什么地方有问题吗??????? 解决方案三: 你一个一个div,然后里面依次放你的控件就是了,有什么问题?

解释一个CSS样式

下载了某个网页,里面有一个样式如下: #slinner   DIV#slidenum   DIV.slideNumber:unknown   {CLEAR:   both;   DISPLAY:   block;   VISIBILITY:   hidden;   HEIGHT:   0px;   content:   "."} 不太懂是什么意思, #slinner   DIV#slidenum   DIV#slidenum:unknown   这个是什么意思, DIV#slidenu