2013-04-03 130 views
7

我们知道overflow: hidden结合border-radius不适用于所有浏览器,因为它应该 - 即Safari和Opera有问题切割包含图像的圆角。功能检测不正确的溢出与边界半径

示例HTML:

<a class="circle" href="#"> 
    <img src="http://placekitten.com/300/300" alt="kitten" /> 
</a> 

和相应的CSS:

.circle { 
    -webkit-border-radius: 100px; 
    -moz-border-radius: 100px; 
    border-radius: 100px; 
    height: 120px; 
    overflow: hidden; 
    width: 120px; 
} 

检查这个jsfiddle

我有一个后备的Safari和Opera使用背景图像,但我只有在使用overflow时效果不佳。现在,我不想简单地使用浏览器检测known reasons,但我想功能检测的能力,以正确的方式切断角落。通常我会检查这样的:

if('overflow' in document.body.style){ 
    // overflow 
} else { 
    // no overflow 
} 

但是,这将不利于这个时候......那么,有没有什么办法可以正确地检查呢?

+4

没有办法进行检查。这不是您想要检测的功能,而是一个深层错误。你不能'问'浏览器是否有这个错误。你可以交谈的部分不知道。 – Rudie

+0

虽然大提琴! – Rudie

+0

@Rudie也许我应该要求**错误检测** ...(其实这是我想要做的:http://jsfiddle.net/SY9tY/) – AvL

回答