【问题标题】:CheckBox does not appear when zoom out on Chrome在 Chrome 上缩小时不显示复选框
【发布时间】:2016-03-28 17:12:54
【问题描述】:

复选框在使用 Chrome 时显示不正确,并且缩小到 75% 或更少。我也在使用 AngularJS 最新版本。在 FireFoxInternet Explorer 中它们可以正常显示。

我尝试通过以下方式解决此问题:

input[type=checkbox] {
    -webkit-appearance:checkbox;
}

但这无济于事。

如下所示:

复选框是自定义的,有 1 个跨度和 2 个 div。代码如下:

.ckeckmark { 
  display: inline-block; 
  width: 18px; 
  height: 18px; 
  -ms-transform: rotate(45deg); 
  -webkit-transform: rotate(45deg);
}` 
.ckeckmark > .stem { 
  position: absolute; 
  width: 1px; 
  height: 11px; 
  background-color: #1C4A9E; 
  left: 8px; 
  top: 2px; 
} 
.ckeckmark > .kick {
  position: absolute; 
  width: 5px; 
  height: 1px; 
  background-color: #1C4A9E; 
  left: 3px; 
  top: 12px;
}
<span ng-class="{ckeckmark: resident}">
  <div class="stem"></div>
  <div class="kick"></div>
</span>

.stem.kick.checkmark span 类中是两个相邻的 div。

经过研究,我注意到 Google Chrome 以 100% 缩放(及以上)显示网页正常,但当缩放级别小于 100%(例如 90%)时,填充会发生变化。 A 从屏幕的右侧移动到左侧。 有什么帮助/建议吗?

【问题讨论】:

  • 不贴代码,我们无法测试..
  • 什么代码?我说我正在使用角度,代码是:
  • 看起来您正在使用自定义复选框,不是吗?换句话说,你认为我们可以如何测试这个?
  • 我用代码编辑了我的问题。抱歉错过了代码
  • 尝试实现工作代码

标签: html css google-chrome


【解决方案1】:

所以我把它变成了一个小提琴,我想我看到了你的问题。在 jsfiddle 上的复选标记消失之前,它需要缩小到 33%,而不是您的 75%。

我使用的解决方案是在实际的茎和踢上使用边框,而不是在这些元素上使用背景。

.ckeckmark { 
  display: inline-block; 
  width: 18px; 
  height: 18px;
  border: 1px solid black;
  -ms-transform: rotate(45deg); 
  -webkit-transform: rotate(45deg);
}
.stem { 
  position: absolute; 
  width: 1px; 
  height: 11px; 
  border-left: 1px solid red; 
  left: 8px; 
  top: 2px; 
} 
.kick {
  position: absolute; 
  width: 5px; 
  height: 7px; 
  border-top: 1px solid red; 
  left: 3px; 
  top: 12px;
}

我没有在其他浏览器中测试过这个,但是我一直缩小到 25%,我仍然看到了复选标记。

在这里提琴:http://jsfiddle.net/Lvc0u55v/1658/

【讨论】:

  • 很合适,非常感谢。我已经用输入标签和 CSS 更改了整个复选框,没有 div 标签,但是我感谢您的帮助和努力。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2015-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多