2012-03-06 54 views
1

如果是这样的HTML:Will:最后一个孩子在无序列表中的最后一个列表项上工作吗?

<ul> 
<li><a href="#">link 1</a></li> 
<li><a href="#">link 2</a></li> 
<li><a href="#">link 3</a></li> 
<li><a href="#">link 4</a></li> 
</ul> 

,这是CSS:

ul li 
{ 
    margin-right:5px; 
    display:block; 
    float:left; 
} 

是否有使用方法:最后一个孩子因此对最后一个列表项没有保证金的权利?

我试图

ul li:last-child 
{ 
    margin-right:0px; 
} 

,并没有奏效。这个伪选择器如何在li元素上使用?

+0

我推测你在'li'上有'display:inline'这样的额外代码吗? – 2012-03-06 22:04:39

+0

你问的是删除左边距,但是你的CSS会谈到右边距...... – BoltClock 2012-03-06 22:06:10

+0

尝试'ul li:last-child'。没有'ui';只有'ol'和'ul'。 – DwB 2012-03-06 22:06:15

回答

0

:last-child不支持这些浏览器?

2

你拼错了你的CSS

你有

ui li:last-child 

,它应该是

ul li:last-child 

而且你的问题是问利润率左,但你的CSS是我们展示与容限right

3

您的规则有误。它说ui但应该是ul。它应该可以正常工作。

这里是一个jsFiddle example

  • IE 8及以下
  • 歌剧9及以下
  • 的Safari 3及以下

http://www.browsersupport.net/CSS/:last-child

您是否使用一个:

+0

它在firefox中工作,而不是IE8 - 这是问题所在。我在原始问题中确实有错别字 - 但不是在我正在处理的源代码中。谢谢您的帮助。 – FiveTools 2012-03-06 22:14:14

+1

看看这个 - http://www.caniuse.com/#search=last-child – shaunsantacruz 2012-03-06 22:15:42

+0

什么版本的IE? IE8及以下版本无法理解:最后一个孩子。 – j08691 2012-03-06 22:17:01