2015-03-31 57 views
-1

不能理解什么问题 https://jsfiddle.net/ure6o695/1/最后一个孩子无法工作的边界。为什么?

#wrapper > div { 
float: left; 
border-left: 1px solid; 
border-color: #ff0303; 
font-family: Aller_Rg; 
padding:21px; 

}

#wrapper > div:last-child { 
border-right: 1px solid; 
border-color: #ff0303; 

}

#wrapper > img { 
float: right; 

}

div { 
background: green; 

}

+0

因为DIV是不是包装的最后一个孩子 - 删除图片,你会看到。 .. – sinisake 2015-03-31 16:02:26

回答

2

你最后div是不是也其父的:last-child,因为你有两个img元素:它是不是:last-of-type

#wrapper > div:last-of-type { 
    border-right: 1px solid; 
    border-color: #ff0303; 
} 

叉:https://jsfiddle.net/vmb9zLrv/


如果您需要支持旧版浏览器(其中:last-of-type伪类不可用,例如IE7IE8)可以反转逻辑并将border-right应用于所有div,border-left仅适用于div:first-child

传统做法:https://jsfiddle.net/7Lty07zq/1/

0

更改这个CSS行:

#wrapper > div:last-child { 

要这样:

#wrapper > div:last-of-type { 
相关问题