a标签为什么无法继承父级样式,说原理,不是实现方法

如题所述

    <a>有其自身的默认样式,就像<li>默认带list-style-type;

    样式就近原则<div style=' color:red;'><div style=' color:blue'>aaa</div></div>

    很显然,aaa为蓝色;

    同样的道理,为什么a标签无法继承父级样式,理由就是此,a本身自带了link、visited、hover、active等样式,在你重写之前,它们都已经存在。且顺序为link--visited--hover-active

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-09
就像如果子元素定义了 style="xxx" 后, 新的style就会覆盖父元素style一样, 其实a元素是继承了父元素style的, 但是浏览器见了a, 会给他新加style上去, 就覆盖掉了父元素style, 只不过浏览器给a新加的style你在html源文件里看不到而已, 是浏览器解析html的时候加上去的
第2个回答  2013-07-10
你和你爸也不是完全一样的,遗传来说,你只能拥有你爸50%的基因,况且还存在这变异等多重不可预知的因素.子无法和父完全一样,这个是自然规律,如果要完全一样,实现方法只能是克隆.
第3个回答  2019-09-20
都搞得很复杂,其实很简单,搞清楚计算原理
第一步:确定声明值(作者样式表和浏览器默认样式表)
第二步:层叠
1.比较重要性

2.比较特殊性

3.比较源次序

第三步:继承
第四步:使用浏览器默认样式表
解答:<div>
<a> 123 </a>

</div>

css:
<style>
div{
color:red;

}

</style>
其实解释很简单,第一步,确认声明值,作者没有赋值给a元素,但是浏览器有默认值-webkit-link赋值给a元素,并且没有冲突,既然第一步a元素的值已经确定了,那后面的步骤就不需要计算a元素的值了
第4个回答  2013-07-10
<a>有其自身的默认样式,就像<li>默认带list-style-type;
样式就近原则<div style=' color:red;'><div style=' color:blue'>aaa</div></div>a标签是内联元素,有的块级元素属性对它不起作用,例如宽度和高度。