CSS定义奇怪问题:.ul li{} 花括号中的设置失效

亮术网 2017-04-15 本网原创

  把定义好的 CSS 复制到文本文件再复制回 html 文件,结果有一个CSS样式失效了。具体是这样:定义一个 ul 的 CSS 样式,再用 ul 的 CSS 样式定义 li 的样式,即 .ul li{},结果 ul 的 CSS 样式有效,li 的 CSS 样式却失效了。为了弄清楚原因,把 ul li 及其 CSS 样式复制到另一个 html 文件,依然是同样问题。

  突然出现的这个问题让人既困惑又无奈,感觉不应该出现这样的问题。尝试多次从文本文件复制来的 CSS 仍然无法解决后,换了一种思路,即重新在这个 CSS 失效的 html 文件中增加一个层 div 并在其中添加段落 P,再定义一个 div 的 CSS 样式,再用 div 的 CSS 样式定义 P 的 CSS 样式,结果正常,这说明 html 文件、开发环境和系统都没有问题。为进一步验证,于是又新增加了一个 ul li,再按照同样的方法定义 CSS 样式,显示也正常,就这样找到了问题所在,具体见下文。

 

  一、CSS定义奇怪问题:.ul li{} 花括号中的设置失效实例

  htm代码:

  <ul class="ul">
   <li>CSS定义.ul li{} 花括号中的设置失效</li>
   <li>CSS奇怪问题</li>
  </ul>

  CSS样式:

  .ul{width:300px; height:330px; border:1px solid #eee; padding:8px;}
  .ul li{line-height:24px; margin-top:10px;}

  原本在 html 文件中定义的 CSS 样式是有效的,把它们复制到文本文件再复制回 html 文件后,.ul li{} 中的设置失效了,但 .ul{} 中的设置还有效。就这样复制也会出问题,实在不可思意。

 

  二、CSS定义.ul li{} 花括号中的设置失效解决方法

  经过反复尝试,最终发现 .ul li{} 前面只是比 .ul{} 前面多了两个空格,还真是这两个空格在作怪,把它们去掉后,.ul li{} 有效了。原本为了段落显示美观,把 CSS 样式复制到文本文件后,在它们的前面加了两个空格“  ”,这两个空格恰好缩进两个汉字;也正是这两个空格使 .ul li{} 失效。

本文浓缩标签:奇怪问题CSS