私はここに非常に単純なロードバーがあります:Chromeで私の1080モニタ表示で私の子供はなぜ高さですか?100%は完全なピクセルではありませんか?
https://codepen.io/Ha1fDead/pen/LjKpjQ
.progress-bar {
width: 200px;
height: 62px;
background-color: teal;
border: 6px solid black;
}
.progress-bar-shade {
width: 66%;
height: 100%;
background-color: red;
}
<div class="progress-bar-container">
<div class="progress-bar">
<div class="progress-bar-shade">
</div>
</div>
</div>
を、これはうまく表示されます。私の1440Pモニター上しかし
ディスプレイには、視覚的なエラーがあります:
(親の境界にクリップする背景の1pxの上下に注意してください)。
(ズームインした後、別のグラフィカル・エラー)
Iは、ブラウザを使用して(も1080ディスプレイ上に複製する)問題を変えることができるズームインするように制御する。これらの場合には、時々シェードの色は1px短くなります(ティールの背景は下に表示されます)。私はあらゆる方向(上のボーダー、左のボーダー、右のボーダー、下のボーダー)でこれを気付いた。私がこれを複製できない唯一のブラウザは、常に正しく表示されるFirefoxです。
box-sizing: border-box
を指定すると動作が若干変更されますが、ズームインすると同じ問題が発生します。
このピクセルの不完全さを引き起こす原因は何ですか?どのように修正できますか?
ギャップがレンダリングエンジンの画素丸め誤差によって引き起こされます。オーバーラップは、赤色または青緑色ではなく、両方の色のブレンドであることが私の目に(あなたのCodePenで)見えます。 – Blazemonger
私は同様の前提を持っていましたが、それを修正したり回避したりする方法がわかりません。何か案は? 最後の画像の16進値をチェックしています(chromeデバッガーのカラーピッカーを使用しているcodepenから)... 赤:#ff0000; TEAL#008080; BORDER-RIGHT:#605050(ブレンド)。 BORDER-TOP(ブレンドの最下位ピクセル):#8b3a3a; ブレンドトップ(ブレンドの最上位ピクセル):#002727; –
これは設計の避けられない結果であるかもしれません。さまざまな色か、それらの別の配置が問題を解決するかどうかを確認してください。 – Blazemonger