.circle {
border-radius: 50%;
height: 118px;
overflow: hidden;
position: relative;
width: 118px;
}
.center {
position: relative;
padding-left: 50%;
}
.thumb {
position: absolute;
left: -50%;
}
HTML
<div class="circle">
<div class="center">
<img src="http://i.stack.imgur.com/nByPB.jpg" class="thumb">
</div>
</div>
正如 Henrik 已经回答的那样,本回答也假设您可以设置包装 div 的高度,但在这个示例中使用了 flexbox,以便您可以将图像完全居中在圆形内。
.thumb {
width: 200px;
height: 200px;
position: relative;
overflow: hidden;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.thumb img {
height: 100%;
width: auto;
}
<div class="thumb">
<img src="http://i.cbc.ca/1.2101005.1382019145!/fileImage/httpImage/image.jpg_gen/derivatives/16x9_620/hotel-room.jpg" />
</div>
<div>
<h4>Original image</h4>
<img src="http://i.cbc.ca/1.2101005.1382019145!/fileImage/httpImage/image.jpg_gen/derivatives/16x9_620/hotel-room.jpg" />
</div>
可以使用 border-radius
CSS 属性来完成:
.img-responsive {
border-radius: 50%;
}
宽度
和高度
时,它将以您想要的方式显示。 - Rick Brongerbackground-image
的解决方案。@antyrat - Hamed mayahian