这个css块是否正确?如果不是为什么?
.leftnav ul li a {
text-decoration: underline;
background-color: red;
width: 120px;
}
答案 0 :(得分:1)
这部分是正确的:
text-decoration: underline;
background-color: red;
注意:如果您想在text-decoration: underline;
元素上使用重叠a
,请使用此属性,否则您不需要使用text-decoration: underline;
因为,默认值{{ 1}} text-decoration
元素为a
。
这部分是错误的:
underline
width: 300px;
代码为内联元素,内联元素不接受a
property.addwidth
或display: inline-block;
代码更改宽度的css代码。
比较此代码:
display: block;
.yourleftnav ul li a {
text-decoration: underline;
background-color: red;
width: 300px;
}
.myleftnav ul li a {
background-color: red;
width: 300px;
display: inline-block;
}
答案 1 :(得分:0)
部分有效。选择器没问题,它定位a
,li
的后代是ul
的后代,.leftnav
的后代是width
的后代。
声明没问题,但要将a
应用于display:block
(内联元素),您应该添加display: inline-block
或Initialize
。
答案 2 :(得分:0)
这取决于您的期望。元素a
是一个内联元素,它使width
定义变得多余。见下文:
.leftnav ul li a {
text-decoration: underline;
background-color: red;
width: 120px;
}

<div class="leftnav">
<ul>
<li><a href="#">Hi</a></li>
</ul>
</div>
&#13;
要使其实际为120像素宽,您需要将其定义为inline-block
。
.leftnav ul li a {
text-decoration: underline;
background-color: red;
width: 120px;
display: inline-block;
}
&#13;
<div class="leftnav">
<ul>
<li><a href="#">Hi</a></li>
</ul>
</div>
&#13;