我必须实现这样的弹出窗口:
它可以出现在屏幕上的任何位置。我需要将50x50矩形Facebook个人资料图片放在一个带有白色边框的圆圈内。所以我需要在保持背景显示的同时修剪轮廓图像。问题是背景是图像本身,因此在圆圈外面使用纯色的蒙版图像将无效。
HTML / CSS / jQuery可以用某种方式吗?
答案 0 :(得分:8)
我只是使用border-radius
创建圆圈,并与overflow:hidden
结合使其裁剪图像。这是一个例子:http://jsfiddle.net/6LHNy/
标记:
<div class="wrapper">
<img src="http://www.petscarecenter.com/wp-content/uploads/2011/05/dog.jpg" />
</div>
相关的CSS:
.wrapper {height:100px; width:100px; border-radius:100px; border:4px solid white; overflow:hidden}
答案 1 :(得分:3)
当然,将图像作为背景(使用css)并使用border-radius来围绕包含元素的角。
这样的事情:
<div style="border: 3px solid white; border-radius: 25px;
height: 50px; width: 50px;
background: #aaa url(facebook-head.png)"></div>
注意:IE 8及以下版本不会绕过角落:http://caniuse.com/#search=border-radius
答案 2 :(得分:1)
这是一张像OSX狮子一样发光的照片。
<强> Fidde:强> http://jsfiddle.net/QbULk/
<强> HTML 强>
<div class="userprofile">
<div style="background-image: url('http://images.nationalgeographic.com/wpf/media-live/photos/000/007/cache/spider-monkey_719_600x450.jpg');" class="mypic" id="mypic">
<span class="glow"> </span>
</div>
<span class="username">Warren G</span>
</div>
<强> CSS 强>
body {background:black; margin:100px}
.userprofile {
padding: 20px 0px 0px 0px;
text-align: center;
list-style-type: none;
}
.mypic {
border-radius: 50px;
position: relative;
display: block;
margin: 10px auto;
box-shadow: 0px 0px 0px 4px #4b4b4b, 0px 0px 10px 10px rgba(0, 0, 0, 0.3);
width: 100px;
height: 100px;
behavior: url(/resources/css/PIE.htc);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
}
.glow {
display: block;
width: 109px;
height: 107px;
position: absolute;
top: 0px;
left: 50%;
margin-left: -55px;
box-shadow: inset 90px 110px 0px -90px rgba(255,255,255,.15);
border-radius: 50%;
}
.username {color:#efefef}
PS。如果是MSIE,则旧版本不支持此功能。