css - 画一个圆圈,里面放个人资料照片

标签 css ruby-on-rails sass

我有一个网站,个人资料图片以圆圈显示。有些人上传的图片没有 1x1 的比例。目前,rails/scss 将图片混合成 1x1 raios。我正在尝试删除图片挤压。有没有办法裁剪较长的尺寸或使用样式向较短的尺寸添加一些灰色空间?

SCSS

@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;
  }
}

HTML.SLIM

img.avatar--lg(src=display_medium_avatar(current_user))

注意:我可以删除宽度或高度参数,但这会使图像以不同的形状显示。我希望它始终显示在一个圆圈中。

最佳答案

我通常将图像设置为 div 的背景图像,然后将其大小设置为“覆盖”并将位置设置为中心。像这样的东西:

background-image: url('img/profilepic/1.jpg');
background-size: cover;
background-position: center;

https://jsfiddle.net/5v34188j/

关于css - 画一个圆圈,里面放个人资料照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357708/

相关文章:

html - 边框图像不起作用

ruby-on-rails - Rails 记录版本控制解决方案

ruby-on-rails - 使用 Rails 2.3 模型嵌套为新的关联对象创建表单

ruby - Sass::Util:Module 的未定义方法 `has?' (NoMethodError) - Debian 上使用 Ruby、Sass、Compass 时出错

css - 如果元素有图像类型的子元素 - 应用某些样式?

css - 绝对和相对内容显示不同

css - 旋转的文本正在中断

javascript - 尝试将 Scss 添加到使用 Webpack 构建的 React 元素中,但我无法让它工作

html - 如何在外部div的底部显示两个内部div

ruby-on-rails - 不同页面上的多个更新表单 Ruby on Rails