w3c标准
来源:互联网 发布:android 珍藏源码 编辑:程序博客网 时间:2024/05/08 18:10
w3c标准 - Css - (2)继承
1. 什么是css继承?
css样式的继承值得是,特定的css属性向下传递到子元素。
下面看一下css的例子:
.TestInheritDiv {color: red;}
<div class="TestInheritDiv"> <p>This is used to test the css.<em>The test is in child</em></p></div>
从上面的例子可以看到,我们仅仅定义了拥有class属性值为TestInheritDiv的div元素设置字体颜色为红色,但是其内部的p元素以及p元素的子元素em的字体均设置为红色。这就是继承。
2. 继承
Css有全局作用域和局部作用域,全局作用域就相当于我们为整个html文档定义的属性和浏览器自己默认的属性设置,就像下图中黄色框标注的部分,局局部作用域就像红色标注的地方。还有像类选择器,属性选择器,其实这些属性针对当前应用到的元素都是一个相对应的全局作用域,因为这个不是仅仅是对应某一个标签,而是对应到某一类标签,其实也可以理解成,这个属性的设置没有设置到具体的某一个元素上,例如一个class属性,那它就相当于是在html元素定义的属性,所有的匹配这个class的元素都会应用这个属性,当然不是所有的属性都会继承,后面会有介绍。
(1)继承属性总结:
界之间的偏移。 No Yes left 定义了定位元素左外边距边界与其包含块左边
界之间的偏移。 No Yes overflow 设置当元素的内容溢出其区域时发生的事情。 No Yes clip 设置元素的形状。元素被剪入这个形状之中,然后显示出来。 No Yes vertical-align 设置元素的垂直对齐方式。 No Yes z-index 设置元素的堆叠顺序。 No Yes 尺寸属性 属性名 解释 继承性 是否属性值中拥有inherit height 设置元素的高度 No Yes line-height 设置行高 Yes Yes max-height 设置元素的最大高度 No Yes max-width 设置元素的最带宽度 No Yes min-height 设置元素的最小高度 No Yes min-width 设置元素的最小宽度 No Yes width 设置元素的高度 No Yes 分类属性 属性名 解释 继承性 是否属性值中拥有inherit clear 设置一个元素的侧面是否允许其他浮动的元素 No Yes cursor 规定当指向某元素之上时显示的指针类型 Yes No display 设置是否及如何显示元素 No Yes float 定义元素在哪个方向浮动 No Yes position 把元素放置到一个静态的,相对的,绝对的,或者固定的位置 No Yes visibility 设置元素是否可见或不可见 Yes Yes
(2)下面的我会对着分类中的一些属性值进行举例
a. 首先是background属性:大家看一下下面的代码:
<div background-style="background-div"><div background-style="no-div"></div><p background-style="background-p">This the content in element p.</p></div>
[background-style="background-div"] {background: green; /*visibility: hidden;*/}[background-style="no-div"] {width: 200px;height: 300px;/*background: inherit; visibility: visible;*/}[background-style="background-p"] {/*background: inherit; visibility: visible;*/}首先是将最外层的div设置属性,背景颜色是green,先看一下当前代码执行的结果,可以看到外层div的背景色是hreen,但是里层的div以及p标签没有自动继承外层的背景颜色,
为了将更好的展示效果,我再给内层标签加上inherit属性的同时将外层的visibility设为hidden,然后将内层的visibility设置为visible,这样我们看到的效果就不会受到外层div的影响.
Note: 我们也可以看到inherit的作用,继承父元素的属性。
b. Color属性
<div text-style="text-div"><div text-style="no-div"><span>The content is in the div</span></div><p text-style="text-p">This the content in element p.</p></div>
[text-style="text-div"] {color: red}[text-style="no-div"] {/*color: inherit;*/}[text-style="text-p"] {/*color: inherit;*/}先看一下在没有inherit的情况下页面的显示以及应用在element上的样式,可以看出在文本属性里具有继承性的属性是不用自己加上属性就可以继承父元素上的文本属性。
然后我们在加上inherit的效果
其实可以看到页面上的效果是没有变化的,有变化的是样式上内容的变化,此时应用的样式应用的color:inherit,相信大家也有疑问,既然具有继承性的属性自己可以继承那对于当前的属性还有inherit岂不是多此一举吗?其实我也有这个疑问,我的理解是:
代码上能地表明要继承于父元素的样式属性,可以在我们查看元素属性时一眼看出来这个元素的属性是哪一个。还有一种情况是受到浏览器默认样式的影响的情况下,需要显示的要求继承父元素的属性,而不是浏览器的属性值,这个示例可以看后面的list-style-type.
代码上能地表明要继承于父元素的样式属性,可以在我们查看元素属性时一眼看出来这个元素的属性是哪一个。还有一种情况是受到浏览器默认样式的影响的情况下,需要显示的要求继承父元素的属性,而不是浏览器的属性值,这个示例可以看后面的list-style-type.
c. text-decoration
<div text-style="text-div"><div text-style="no-div"><span>The content is in the div</span></div><p text-style="text-p">This the content in element p.</p></div>
[text-style="text-div"] {text-shadow: 10px 10px 5px red;}[text-style="no-div"] {}[text-style="text-p"] {}
我们看一下文本属性里的这个和别人不一样的两个属性text-decoration,我们看一下页面上的显示
在上面的总结中标识的是text-decoration是没有继承性的,但是现在我们看到的效果是子元素中仍然应用了父元素的样式,这是为什么呢?相信大家细致的发现了黄色框标注的情况,chorme浏览器可能看到结果不太明显,但是还可以看到text-decoration是具有透明度的。
我们再看一下上面ie浏览器上的显示,大家已经发新在子元素中根本就没有一行代码类似于color属性的继承于父元素的,这是什么原因呢,其实这个属性确实是没有继承的,w3c上的解释是:text-decoration如果后代元素没有自己的装饰,祖先元素上设置的装饰会“延伸”到后代元素中。
所以对这个属性我们的理解还是不能继承的,只是在子元素没有设置的时候,会向下延伸,这里不能说是继承了,毕竟属性本身行为与继承属性的行为不同。
所以对这个属性我们的理解还是不能继承的,只是在子元素没有设置的时候,会向下延伸,这里不能说是继承了,毕竟属性本身行为与继承属性的行为不同。
d. list-style-type
<div list-style="list-div"><ul list-style="list-ul"><li>test1</li><li>test2</li><li>test3</li><li>test4</li></ul></div>
[list-style="list-div"] {list-style-type: circle;}[list-style="list-ul"] {/*list-style-type: circle;*/}从上面表格中可以看出list-style-type属性是具有继承性的,然后看一下当前页面上的展示
当前页面上按照属性继承的情况来看应该是显示的是列表的style应该是空心圆,但是显示的实心园,相信大家也看到在浏览器的样式上面红色框标注的地方,因为当前元素应用的是user agent style,所以子元素没有继承到父元素的属性,这个时候inherit就可以排上用场了,可以让子元素继承父元素的属性,而不是适应浏览器的属性。
e.line-height属性
这里不做示例了,因为这个涉及到line-box的内容,我想在后面的文章一起进行学习。
0 0
- W3C标准
- W3C标准
- W3C标准
- w3c标准
- W3C标准
- W3C标准
- W3C--标准
- W3C标准
- W3C标准
- W3C标准
- w3c标准
- w3c标准
- w3c标准
- w3c标准
- w3c标准
- w3c标准
- W3C标准
- W3C是什么?什么是W3C标准?
- 企业优秀运维人员20道必会iptables面试题
- virtualbox ubuntu16
- web设计趋势与潮流设计(2010)
- 关于JQuery.cookie的简单实用方法
- strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
- w3c标准
- platform设备驱动(Linux驱动4)
- 《PCL点云库学习&VS2010(X64)》Part 23 快速双边滤波算法之三线插值
- R语言的简单图的绘制
- java中使用akka手记一
- 以图搜图--感知哈希算法
- 使用Navicat进行ssh通道连接MySQL数据库
- 你看得懂的海明码校验和纠错原理
- 汽车租赁系统