検索

前件

以前、1px border: from line-height to 0-5px について記事を書きました。この記事では、スケーリング方法を使用できると述べましたが、rem またはパーセント単位を使用すると、境界線イメージ ソリューションを使用しているときに一部のモデルで 1px 境界線が消えることがよくありますが、この記事では消えません。これは1pxの枠線が消える理由と後者が正常に表示できる理由です。

LayoutUnit

サブピクセル (つまり、小数点ピクセル) を実際の物理ピクセルに変換する 2 つの方法については、LayoutUnit で説明します。概略図は次のとおりです。 >

enクロージングIntRect

このメソッドを使用すると、最終的な物理サイズが元のサイズを超えるため、ボックス モデルでオーバーフローが発生する危険性があります。

x: floor(x)y: floor(y)maxX: ceil(x + width)maxY: ceil(y + height)width: ceil(x + width) - floor(x)height: ceil(y + height) - floor(y)pixelSnappedIntRect
pixelSnappedIntRect

変換中のインタラクション

    x: round(x)    y: round(y)    maxX: round(x + width)    maxY: round(y + height)    width: round(x + width) - round(x)    height: round(y + height) - round(y)采用这种方式的好处是能够保证最终渲染的物理大小不超过原来的大小,使得在屏幕等分出现小数的情况也不会溢出到下一行。本人将七个div等分整个屏幕宽度,在不同的分辨率下并没有发生溢出的情况,因此猜测浏览器采用了这套方案。
各 DOM ノードが上記の解決策のいずれかを個別に採用する場合、1px は消えません。 ただし、実際にはドキュメント内ではフローでは、前のノードが占めるサイズは、サブピクセル変換後の後続のノードのサイズにも影響し、それによって後者のサブピクセル変換に影響を与えます。

iPhone 4 の画面サイズを例として、それを 7 つの等しい部分に分割します:

、計算された幅と実際のレンダリング幅を出力します:

.box { font-size: 10px; width: 14.2857%; height: 14.2857%; background: pink; float: left; } .box:nth-child(2n) { background: gray; }

$.each($(".box"), function(index, val) {var computedWid = getComputedStyle(val).width;var wid = val.offsetWidth;$(val).html(computedWid + '<br>' + wid + 'px');
表示効果は次のとおりです:

計算ルールは次のとおりです:

サイズ最初のボックスのサイズは 45.7031 ピクセル、キャリー サイズは 46 ピクセルで、次のボックスをカバーし、カバレッジ幅は 1-0.7031=0.2969 ピクセルです。

    2 番目のボックスのサイズは次のように縮小されます。 45.7031-0.2969=45.4062px なので、この時点で破棄された 0.4062px は次のボックスにマージされます。
  1. 3 番目のボックスのサイズは 45.7031+0.4062=46.1093px に拡張されます。したがって、46px に丸められ、次のボックスにマージされます。幅は 0.1093px;
  2. 4 番目のボックスのサイズは 45.7031+0.1093px=45.8124px に拡張されるため、キャリーは 46px となり、次のノードの幅は 0.1876px;
  3. 5 番目のボックス ボックスのサイズは 45.7031-0.1876=45.5155px に縮小されるため、丸めは 46px となり、次のノードの幅 0.4845px をカバーします。
  4. 6 番目のボックスのサイズは 45.7031-0.4845=45.2186px に縮小されるため、45px に丸められ、幅 0.2186px の次のノードにマージされます。
  5. 7 番目のボックスのサイズは 45.7031+0.2186=45.9217px に拡張されるため、46px に丸められます。
  6. 計算結果は、表示効果に合わせて、さまざまな解像度を調整してテストできます。このルールに従って正しい結果を予測できます。
  7. 結論

スケール、ズーム、ビューポートなどのスケーリング ソリューションを使用して実装された 1px は、実際には 0.5px の CSS ピクセルであるため、使用できます。前の DOM によってノードが覆われてしまうため、そのサイズが 0.5px 未満になり、その結果、ノードが 0px に丸められて消えてしまいます。

  1. border-image メソッドは消えません。border-image ソリューションのサイズは 1px CSS ピクセルであるため、前の DOM ノードがどのようにカバーされても、最大値はなくなります。 0.499999px より大きい、つまり 0.5px 以下なので、0.499999px で覆われていても、そのサイズは 0.511111px のままで、最終的な効果は 1px に丸められるため、このソリューションによって実装された 1px の境界線は常に表示されます。 。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。