Html 如何在“上获得圆形悬停”;“圆形”;迪夫?

Html 如何在“上获得圆形悬停”;“圆形”;迪夫?,html,css,Html,Css,我想知道是否有任何方法可以使div看起来像是圆形的 我试过: img { width: 350px; border : 2px solid red; border-radius: 175px; } img:hover { border-color : blue; } 但当我进入正方形区域(350x350)时,我会得到蓝色边框 编辑: 此代码在Firefox中有效,但在Chrome中无效。 检查这个 CSS 我想知道有没有办法让div看起来像是圆的 答案是否定的

我想知道是否有任何方法可以使div看起来像是圆形的

我试过:

img {
    width: 350px;
    border : 2px solid red;
    border-radius: 175px;
}

img:hover {
   border-color : blue;
}
但当我进入正方形区域(350x350)时,我会得到蓝色边框

编辑: 此代码在Firefox中有效,但在Chrome中无效。

检查这个

CSS 我想知道有没有办法让div看起来像是圆的

答案是否定的

HTML元素是矩形的,尽管它们可以调整为显示其他形状

然而,还有其他一些技巧可以达到你想要的效果,但这取决于你想做什么


@Ruddy在他的评论中提供了一把小提琴,这可能是一个答案。

这就是你要寻找的

不幸的是,您无法使圆形元素与交叉浏览器兼容。 (我认为)只有这样,有图像地图

<img src="http://freshwateraquaculture.net/wp-content/uploads/2014/02/300x300.gif" alt="" usemap="#Map" border="0" />
<map name="Map">
  <area shape="poly" coords="112,300,50,186,56,66,248,58,330,114,320,244,220,298" href="#">
</map>


如果您使用开发工具(如Google Chrome开发工具od‘Firebug’)检查元素,您可以看到该区域有一个特殊的形式,并且不是直肠状的。

最后,我使用javascript使其在Chrome中工作

$('#photo').mousemove(function (e) {
    var r = 175;

    var x = $('#photo').offset().left + r;
    var y = $('#photo').offset().top + r;

    var ex = e.pageX;
    var ey = e.pageY;

    var xx = (ex - x);
    var yy = (ey - y);

    if(xx*xx+yy*yy<r*r)
        $("#photo").css('border-color', 'red');
    else
        $("#photo").css('border-color', 'blue');
});

$('#photo').mouseleave(function (e) {
        $("#photo").css('border-color', 'blue');
});
$('#photo').mousemove(函数(e){
var r=175;
var x=$('#photo').offset().left+r;
变量y=$('#photo').offset().top+r;
var ex=e.pageX;
var ey=e.pageY;
var-xx=(ex-x);
变量yy=(ey-y);

如果(xx*xx+yy*yy)对我有效,你用的是什么浏览器?这个@Ruddy怎么样?我用的是Chrome浏览器。我已经在Firefox上注册了,它在那里工作perfectly@alicjasalamon我放在评论里的演示怎么样。我不知道为什么firefox会这样显示它。
<img src="http://freshwateraquaculture.net/wp-content/uploads/2014/02/300x300.gif" alt="" usemap="#Map" border="0" />
<map name="Map">
  <area shape="poly" coords="112,300,50,186,56,66,248,58,330,114,320,244,220,298" href="#">
</map>
$('#photo').mousemove(function (e) {
    var r = 175;

    var x = $('#photo').offset().left + r;
    var y = $('#photo').offset().top + r;

    var ex = e.pageX;
    var ey = e.pageY;

    var xx = (ex - x);
    var yy = (ey - y);

    if(xx*xx+yy*yy<r*r)
        $("#photo").css('border-color', 'red');
    else
        $("#photo").css('border-color', 'blue');
});

$('#photo').mouseleave(function (e) {
        $("#photo").css('border-color', 'blue');
});