CSS中属性继承小解

继承:html元素可以从父元素那里继承一部分css属性,即使当前元素没有定义该属性。

1.css可以和不可以继承的属性

不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。 
所有元素可继承:visibility和cursor。 
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。 
终端块状元素可继承:text-indent和text-align。 
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。 
表格元素可继承:border-collapse。

2.值的继承

继承也是基于文档树的,文档树中元素的某些属性可以被其子元素继承,每一个CSS属性都定义了它能否被继承。要设定文档的某些缺省样式属性,可以在文档树的根上设定该属性,如果这个属性可以继承,则其后代元素将继承这个属性,例如color、font-size等属性。

3.“inherit(继承)”值

每一个属性可以指定值为“inherit”,即:对于给定的元素,该属性和它父元素相对属性的计算值取一样的值。继承值通常只用作后备值,它可以通过显式地指定“inherit”而得到加强,例如:

p { font-size: inherit; }

4.继承的局限性 
  
继承虽然减少了重复定义的麻烦,但是,有些属性是不能继承的,例如border(边框)、margin(边距)、padding(补白)和背景等。 
这样设定是有道理的,例如,为一个<div>设定了边框,如果此属性也继承的话,那么在这个<div>内所有的元素都会有边框,这无疑会产生一个让人眼花缭乱的结果。同样的,影响元素位置的属性,例如margin(边距)和padding(补白),也不会被继承。

同时,浏览器的缺省样式也在影响着继承的结果。例如: 
body { font-size: 12px; } 
<h2>2级标题的文字不是12px。// </h2> H2中文字将是标题2样式的文字而非12px大小的文字。

这是因为浏览器的缺省样式设定了<h2>的CSS规则。 
同时,有些老版本的浏览器可能对继承支持的不太好,例如某些浏览器当遇到<table>的时候,就会丢失所有的继承的属性, 
  
5.能否取消 
  
css属性一旦继承了不能被取消,只能重新定义样式。 
  
6.案例 
  
父元素position:relative 子元素:position:absolute 父元素宽度固定,子元素会继承父元素的宽度(对于二级导航很重要,当隐藏的那个导航栏宽度不固定,或者宽度大于父元素时,此时一般只能重新设置子元素的宽度) 
走岔了,就退回来;走得急,就缓一些。时不时停下来想想,望一望,琢磨琢磨,再继续走。

原文:http://www.cnblogs.com/shishixiaozi/p/5730407.html

时间: 2024-08-05 19:35:57

CSS中属性继承小解的相关文章

CSS中position小解

我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置.而其层叠通过z-index属性定义. absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位.而其层叠通过z-index属性定义. fixed:对象脱离正常文档

css中的px、em、rem 详解

概念介绍: 1.px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选.Windows系统默认是96dpi,Apple系统默认是72dpi. 2.em(相对长度单位,相对于当前对象内文本的字体尺寸):是一个相对长度单位,最初是指字母M的宽度,故名em.现指的是字符宽度的倍数,用法类似百分比,如:0.8em, 1.2em,2em等.通常1em=16px

深入理解CSS中的层叠上下文和层叠顺序(转)

by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在CSS届,也是如此.只是,一般情况下,大家歌舞升平,看不出什么差异,即所谓的众生平等.但是,当发生冲突发生纠葛的时

CSS 中 Font-Family 中英文对照表

在 CSS 中,我们经常会使用 Font-Family 属性来定义字体.其中,中文字体如果直接使用中文名称,很有可能在非中文的系统环境下造成字体异常.所以通常使用字体的英文名称定义 Font-Family 的值. 常用字体中英文对照表 中文 英文 宋体 SimSun 黑体 SimHei 楷体 KaiTi 新宋体 NSimSun 仿宋 FangSong 微软雅黑 Microsoft YaHei 微软正黑体 Microsoft JhengHei 标楷体 BiauKai 新细明体 PMingLiU 细

做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致

最近在做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致.大家可以查看这个Demo(记得打开Chrome DevTools). 就如上图所示,你可以发现,原本指定的字体大小是24px,但是最终计算出来的却是53px,看到这诡异的结果,我心中暗骂一句:这什么鬼! 随后开始对问题各种排查:某个标签引起的?某个CSS引起的?又或者是某句JS代码引起的.通过一坨坨的删代码,发现貌似都不是.我不禁又骂,到底什么鬼!不过中间还是发现了一些端倪:当页面中的标签数量或者文本数

HTML元素在CSS中的分类

元素是组成HTML文档的基本结构,比如h1.p.ul.div等等.在CSS中,元素可以分为 "替换元素"与"非替换元素".如果站在元素显示的效果上看,那么元素还可以分为"块级元素"和"行内元素". 一.替换元素与非替换元素 (一)替换元素 元素在浏览器中所呈现的内容,并不是由元素在HTML文档中的内容直接表示的. 比如img元素,<img src="test.jpg"/>. img元素并没有内容

css中的层叠性及权重的比较

假如同一个标签被多个选择器选中,每个选择器都设置了相同的样式,浏览器中加载时这个样式听谁的? 不同选择器设置的同一个样式,只会选择一个进行加载,不会叠加. 为了解决听谁的问题,引入层叠性的概念. 层叠性:多个选择器选中同一个标签,设置同一个样式,浏览器中加载时,不会加载所有的属性值,挑选其中一个加载,其中一个值层叠/覆盖掉其他的值.   要实现层叠或覆盖就涉及到比较,下面就是比较选择器之间的权重的比较,权重的比较一共有两种情况:1.选择器选中了标签:2.选择器没有选中标签 首先说一下选择器的权重

css中内嵌,内联以及外联的区别

在学习css的过程中,经常会用到内嵌,内联以及外联这三种,接下来我就对于自己所学的一点介绍一下: 1.内嵌 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <h1 style="color:red;">

深入理解CSS中的margin

1.css margin可以改变容器的尺寸 元素尺寸 可视尺寸--标准盒子模型中盒子的宽度是不包括margin值的,clientWidth 占据尺寸--包括margin的宽度 outWidth不在标准之中,jquery中有相对应的方法 margin与可视尺寸 1.1使用那个与没有设定width/height的普通block水平元素 2.2只适用于水平方向尺寸 <body style="background-color:#1a2b3c"> <div style=&quo