検索
ホームページウェブフロントエンドCSSチュートリアルさまざまなサイズのデバイスに適応する実装

場合によっては、コンテンツを 1 つの画面に収まるようにして、さまざまなサイズのデバイスに適応させる必要があります。これが一部のデバイスでどのように不満足な表示につながるかについては説明しませんが、それを実装する方法について直接話しましょう。

最初に考えられるのは、ページ上のすべてのブロックレベル要素の幅、高さ、マージンの値 (marginpadding) をパーセンテージで表す必要があるということです。
水平方向、幅、水平間隔の値がパーセンテージ値の場合、その値は親要素の幅を基準にして計算され、水平方向の異なるサイズのデバイスに適応できます。
垂直方向では、高さの値がパーセンテージの場合、その値は親要素の高さを基準にして計算されます。ただし、垂直方向の間隔の値がパーセンテージの場合、その値は親要素の幅 (高さではなく) を基準にして計算されます、はは(無力~~~)。

したがって、水平方向の適応にはパーセンテージ解を使用できます。垂直方向の場合は他の解決策が必要です。

CSS3 メディア クエリを使用できますか?それはできません。 Media Queries はデバイスの高さの クエリ をサポートしていますが、すべてのデバイスの高さをリストし、高さの異なるデバイスごとに一連の CSS を記述することは不可能です。少数の高さのデバイスとのみ互換性を持たせる必要がある場合は、このソリューションを検討してください。

ここではいくつかの解決策を紹介します。

JSを使用して

を実装します。原理は、data-style-height 属性を使用して要素の高さを設定することであり、その値は親要素の高さのシェアです。ページが初期化されると、JS はこの値、親要素の高さ、および親要素の高さの合計数に基づいて要素の高さに値を割り当てます。例えば、

<p>
  </p><p></p>
  <p></p>

上記のコードでは、親要素の高さのパーツの総数は 3 で、a の高さが 1 パーツ、b の高さが 2 パーツを占めます。親要素の高さが 100px であると仮定すると、a の高さは (1 / 3 * 100)px、b の高さは (2 / 3 * 100)px となります。 コード>。 <code>(1 / 3 * 100)px,b 的高度为 (2 / 3 * 100)px

同样的,设置间距用这些属性: data-style-margin-top, data-style-margin-bottom, data-style-padding-top, data-style-padding-bottom。页面初始化时,JS 会根据属性值给元素的对应的间距赋值。

具体实现代码见这里。

用 flex 实现

原理和用 JS 实现基本一致。用 flex 实现只是用 flex-grow 的值大于 0 的 flex 元素在父空间很大时,会自动变大的特性来代替 JS 的计算。

具体的原理是,在元素上设置高度用 data-style-height 属性,其父元素设置样式 <a href="http://www.php.cn/wiki/927.html" target="_blank">display</a>:flex;flex-<a href="http://www.php.cn/wiki/873.html" target="_blank">direction</a>: column;。页面初始化时,JS 会根据该值给该元素设置 flex-grow:属性值

同様に、次の属性を使用して間隔を設定します: data-style-margin-top

、data- style -margin-bottom

、data-style-パディングトップ

、データスタイル- パディングボトム。ページが初期化されると、JS は属性値に基づいて要素に対応する間隔を割り当てます。

具体的な実装コードについては、こちらをご覧ください。

flex を使用して

を実装する原理は、基本的に JS を使用する場合と同じです。 flex を使用した実装では、親空間が大きい場合に、JS 計算ではなく、flex-grow 値が 0 より大きい flex 要素が自動的に大きくなるという機能を使用しているだけです。

具体的な原則は、data-style-height 属性を使用して要素の高さを設定し、その親要素 <a href="http://www.php.cn/wiki/%5D%20%E3%81%AB%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%20927.html" target="_blank">表示<hr>:flex;flex-</a><a href="http://www.php.cn/wiki/873.html" target="_blank">方向<p>:列;。ページが初期化されると、JS はこの値に基づいて要素に <code>flex-grow: 属性値 を設定します。間隔は、data-style-height 属性と空のコンテンツを持つ要素を使用して実装されます。

具体的な実装コードについては、こちらをご覧ください。 🎜🎜🎜画像🎜を使用して🎜🎜コンテンツにインタラクションが必要ない場合は、ページ全体を 1 つの画像にできます。もちろん、これを行うと後のメンテナンスが少し難しくなります。 🎜🎜HTML:🎜
<img  class="fullpage lazy" src="/static/imghwm/default1.png" data-src="..." alt="さまざまなサイズのデバイスに適応する実装" >
🎜CSS:🎜
html,body{
  height: 100%;
}
.fullpage{
  width: 100%;
  height: 100%;
}
🎜🎜🎜🎜

以上がさまざまなサイズのデバイスに適応する実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

この投稿では、Blackle Moriは、CohostのHTMLサポートの限界を押し広げようとしている間に見つかったハックのいくつかを示します。あえてこれらを使用してください、あなたもCSS犯罪者とラベル付けされないようにしてください。

カーソルの次のレベルCSSスタイリングカーソルの次のレベルCSSスタイリングApr 23, 2025 am 11:04 AM

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Apr 23, 2025 am 10:42 AM

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee&#039;の疑いを補強します。

UI効果にCSSバックドロップフィルターを使用しますUI効果にCSSバックドロップフィルターを使用しますApr 23, 2025 am 10:20 AM

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

微笑んでいますか?微笑んでいますか?Apr 23, 2025 am 09:57 AM

まあ、SVG&#039;の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

「かわいい」は見る人の目にあります「かわいい」は見る人の目にありますApr 23, 2025 am 09:40 AM

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

CSS-Tricks XLIIIを記録しますCSS-Tricks XLIIIを記録しますApr 23, 2025 am 09:35 AM

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

Tailwind&#039;の@Apply機能は、響きよりも優れていますTailwind&#039;の@Apply機能は、響きよりも優れていますApr 23, 2025 am 09:23 AM

ほとんどの場合、人々はTailwind&#039;の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。