我有这个代码,我继承自UI / UX的人,我不再与之联系。
此代码用于显示图片。它将图片和搜索结果以1x1的比例拍摄,然后将其显示在一个圆圈中。
我希望它反而不是挤压,而是裁剪顶部和底部或两侧以使图片成为1x1比率,然后将其显示在圆圈中。
@mixin avatar($size:40px) {
border-radius: 50%;
border-radius: $size/2;
}
%avatar-border-shadow {
border: 5px solid #fff;
box-shadow: 0 0 15px rgba(#000, 0.4);
}
.avatar {
@include avatar(40px);
@include mod('lg') {
width: 128px;
height: 128px;
@include avatar(128px);
@extend %avatar-border-shadow;
}
@include mod('xl') {
width: 160px;
height: 160px;
@include avatar(160px);
@extend %avatar-border-shadow;
}
@include mod('settings') {
cursor: pointer
}
}
我尝试添加以下代码:
...
@include mod('lg') {
display: block;
margin: auto;
overflow: hidden;
....
但似乎没有效果。任何帮助将不胜感激。
文件的名称是avatars.scss
编辑:
这是'html / ruby'
img.avatar--lg(src=display_medium_avatar(current_user))
答案 0 :(得分:0)
最快的方法是将图片设为background-image: url('...');
,并在样式文件中将background-size: cover;
添加到avatar-div。
答案 1 :(得分:0)
还可以使用img
元素使用overflow: hidden
并将img高度设置为100%,以确保覆盖圆形区域。请参阅此处的JSFiddle演示:https://jsfiddle.net/dc50gd9q/1/。
这为没有直接访问权限的用户解决了同样的问题,或者为了注入background-image
而将样式属性添加到类中“不干净”。