html - CSS:Scale(x) 使图标旋转

标签 html css css-transforms pseudo-element

我有以下文章 View 图标:

.viewIcon {
    display: inline-block;
    width: 1em;
    height: 1em;
    background: #888;
    position: relative;
    border-radius: 65% 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 5px;
}

.viewIcon:before,
.viewIcon:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    border-radius: 100%;
}

.viewIcon:before {
    height: .5em;
    width: .5em;
    background: #fff;
    margin-top: -.25em;
    margin-left: -.25em;
}

.viewIcon:after {
    height: .25em;
    width: .25em;
    background: #888;
    margin-top: -.1em;
    margin-left: -.11em;
}

.activeArticle {
    transform: scale(1.5);
}
<div class="viewIcon"></div>
<br/><br/>
<div class="viewIcon activeArticle"></div>

如您所见,“.activeArticle”将图标旋转了 45 度。

  1. 为什么会这样?我是否遗漏了伪元素中的某些内容?

  2. 如何修复它/如何在不旋转的情况下缩放它? (变换/旋转会将图标缩放回原始大小)

最佳答案

当您为 activeArticle 指定 scale 时,您正在重置转换 - 使用此:

.activeArticle {
    transform: rotate(45deg) scale(1.5);
}

下面的演示:

.viewIcon {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: #888;
  position: relative;
  border-radius: 65% 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 5px;
}
.viewIcon:before,
.viewIcon:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  border-radius: 100%;
}
.viewIcon:before {
  height: .5em;
  width: .5em;
  background: #fff;
  margin-top: -.25em;
  margin-left: -.25em;
}
.viewIcon:after {
  height: .25em;
  width: .25em;
  background: #888;
  margin-top: -.1em;
  margin-left: -.11em;
}
.activeArticle {
  transform: rotate(45deg) scale(1.5);
}
<div class="viewIcon"></div>
<br/>
<br/>
<div class="viewIcon activeArticle"></div>

关于html - CSS:Scale(x) 使图标旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40842404/

相关文章:

javascript - 设置不转发到网站的 cookie

css - Bootstrap : numbers from ordered list disapear when using media object

javascript - 如何在不通过 HTTP 加载图像的情况下在 HTML 中显示 'Reload' 符号?

javascript - 单击提交按钮时表单验证无法正常工作?

javascript - SVG 旋转不适用于 IE - Codepen 在 chrome 上完美运行

css - 在 DIV 中居中一个字符

css - 页脚放置在底部 (img) 和内容覆盖

asp.net - Chrome 菜单错误,默认 asp 页面

css - 桌面相当于 iOS Safari 将页面缩放到视口(viewport)宽度?

jquery - 变换 y 轴上的元素并将其左右对齐到外部元素