Html 如何在“上获得圆形悬停”;“圆形”;迪夫?
我想知道是否有任何方法可以使div看起来像是圆形的 我试过: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看起来像是圆的 答案是否定的
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');
});