关于css样式中的问题?

列表里放了一条链接
列表外放了一堆链接
我写下
a{
color:red;
}
但我不想让列表里的链接和列表外的链接一样的样式,想继承列表的样式,请问应该怎么写
(因为我发现列表里的链接的样式被新加的标签选择器a覆盖了,但我标签ul后面是有一个class="text-body",为什么还会覆盖掉?
我是初学者麻烦你们了)

你这么设置就是让所有的a标签都设置这个样式,要想解决这个问题,先给列表外的链接都添加一个类名然后通过类名来设置样式,当然这样如果外面链接很多添加也麻烦,那也可以通过用一个DIV装起来,给这个DIV设置一个类名,例如: class=“a_list”然后再设置样式: .a_list a{}这样就可以了,当然,你上面的a标签也最好使用类名的方式来设置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-29
我觉得你写的有点乱我不是很理解,我感觉是css优先级的问题。

<style>
a { color: red };
ul > li a {
color: yellow;
}
.text-body a { color: blue }
</style>
<a href='detail.html'>红色链接</a>
<a href='detail.html'>红色链接</a>
<a href='detail.html'>红色链接</a>
<ul>
<li><a href='detail.html'>黄色链接</a></li>
<li><a href='detail.html'>黄色链接</a></li>

<li><a href='detail.html'>黄色链接</a></li>
<li><a href='detail.html'>黄色链接</a></li>
<li><a href='detail.html'>黄色链接</a></li>
</ul>
<div class='text-body'>
<a href='detail.html'>蓝色链接</a>
<a href='detail.html'>蓝色链接</a>
<a href='detail.html'>蓝色链接</a>
</div>追问

您好,感谢你的提醒用了后代选择器解决了问题,然后还有个问题我想追问一下,为什么下面这行代码需要重复加class= "text-body才能去掉下划线,而不加的话,字体大小,行高,文本缩进却继承了,唯独没有去除下划线,这是什么原因呢?

<li><a href="#" class="text-body">去除超链接默认的下划线</a></li>

追答

ul是text-body,a也是text-body,你区分一下ul.text-body, a.text-body

本回答被提问者和网友采纳
第2个回答  2020-06-29
ul.text-body a{color:red;}
相似回答