在圈子的长方形图象有透明的背景

时间:2012-02-22 16:27:17

标签: jquery html css

我必须实现这样的弹出窗口:

它可以出现在屏幕上的任何位置。我需要将50x50矩形Facebook个人资料图片放在一个带有白色边框的圆圈内。所以我需要在保持背景显示的同时修剪轮廓图像。问题是背景是图像本身,因此在圆圈外面使用纯色的蒙版图像将无效。

HTML / CSS / jQuery可以用某种方式吗?

3 个答案:

答案 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)

enter image description here

这是一张像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">&nbsp;</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,则旧版本不支持此功能。