ホームページ ウェブフロントエンド CSSチュートリアル 要素を水平に配置する 6 つの方法

要素を水平に配置する 6 つの方法

Sep 25, 2018 am 11:49 AM
css

ご存知のとおり、ブロックレベルの要素はデフォルトで垂直に配置され、インライン要素は基本的に div やその他の一般的なブロックレベルのタグなどのレイアウトで使用されます。 -レベル要素も配置されますか? 水平方向の配置はどうですか?この記事では、ブロックレベルの要素を水平に配置するための 6 つの方法を紹介します。

#最初のタイプ: display: inline-block

まず、ブロック要素とインライン要素を理解する必要があります

ブロックレベル要素: ブロックレベルの要素には、width height、padding、border、margin が含まれます。一般的なブロックレベルの要素には、div、p、form、ul などが含まれます。

インライン要素: 高さと幅はコンテンツによって決まります。固定サイズを設定することはできません。インライン要素は HTML のすべての要素の大部分を占めます。たとえば、a、span、label、button、img、input...

ここで「Button、img、input ラベルは幅と高さ、マージンとパディングを設定できます。」という疑問を持つ人もいるかもしれません。 . 、なぜ本当にインライン要素なのでしょうか? 「実は、html要素を分ける方法は大きく分けて「ブロックレベル要素とインライン要素」と「置換可能な要素と置換不可能な要素」の2つがあります。最初の分割方法は上で紹介され、2 番目の分割方法は以下で紹介されています。

置換要素: 一般的に理解されているのは、幅と高さの属性を持つ要素です。置換要素は、display:inline-block 要素に似ており、高さ、幅、内側と外側のマージンを設定できます。これらには、主に img、input、textarea、select、object、audio、および Canvas が含まれます。は置換要素です。

非置換要素: 置換要素を除き、残りは非置換要素です (O(∩_∩)O)

多くの無意味な内容を経て、次のことがわかります。 -block can 要素を水平に配置しますが、このレイアウトには少し問題がある可能性があります。例:

<style>
        div{
            display:inline-block;    width:200px;    height:200px;
        }
        .div1{
            background:green;
        }
        .div2{
            background:red;
        }
</style>
<div class = "div1">左边</div>
<div class = "div2">右边</div>
ログイン後にコピー

ここで 2 つの div の間にギャップが見つかりました。これはなぜでしょうか。

ブラウザは、改行、インデント、スペースを 1 つのスペースとして扱います。スペースが 2 つある場合や、改行とスペースが 1 つある場合でも、それらは 1 つのスペースとして解析されます。このスペースのサイズは font-size/2 です。このギャップを解消する方法はたくさんあります。

1. div2 の左マージンを設定します:-font-size/2

2 2 つの div の親タグのフォント サイズを設定します: 0

3. 負の単語間隔を設定します。

Second: float: left/right

float 属性は、要素を通常のドキュメント フローから切り離すことができます。コンテナの左側または右側に横に配置します。

この方法は最もよく使われる方法と言えますが、アダプティブ レイアウトでは一般に要素の高さと幅が固定されず、コンテンツのサイズに応じて自動的に調整されるという問題があります。子要素がすべて浮動要素の場合は、高度な崩壊が発生します。

クリの例

<style>
        span{
            float:left;        width:200px;    height:200px;
        }
        .box1{
            background:green;
        }
        .box2{
            background:red;
        }
</style>
<div>
    <span class = "box1">左边</span>
    <span class = "box2">右边</span>
</div>
ログイン後にコピー

ここでは、前のクリのサブ要素 div を意図的に span に変更しています。実際、float が要素をブロック要素に暗黙的に変換できることを表現したいのです。 Position:absolute/fixed(もあり)なので、幅と高さを自然に設定できます。

それでは、ボックスを横に並べた後に何が問題になるのでしょうか?それは正しい!親コンテナの高さは折りたたまれています。このとき、親コンテナの div の高さは 0 です。これは、フローティング要素が通常のドキュメント フローから外れ、親コンテナが高さを計算するときに無視するためです。これは私たちが見たくないものです。この高度に折りたたまれた DIV の背後に他の通常のフロー タグがある場合、ページが混乱し、その他の望ましくない結果が発生するからです。

フロートをクリアするには、主に 2 つの方法があります。

1.clear:left/right/both。これは、フローティング CSS をクリアするために特別に使用されます。

2.BFC、BFC には「BFC の高さを計算するとき、浮動要素も計算に参加する」というルールがあるためです。

clear を使用してフロートをクリアするいくつかの方法について説明します。

1. 最後の子要素の後に空のタグを追加し、そのスタイルを clear:both に設定します。

#2. 最後のフローティング子要素で、疑似要素::after を使用して、フロートをクリアするクリア スタイルを追加します。

3 番目のタイプ: テーブル レイアウト

このレイアウト方法はさまざまな問題があるため、一般的には使用されません。

レンダリング速度が遅い

HTMLコードの量が増加し、保守が困難になります

タグの名前がHTMLのセマンティクスに準拠していません。もともとテーブルに使用されており、レイアウトにも使用されていないのは不適切でしょうか?

タグ構造が比較的厳格で、後の修正コストが高いなど。ここではあまり詳しく説明しません。つまり、テーブル レイアウトを使用してみてください。

#4 番目の方法: 絶対配置

#この方法は、前述したように、float で要素を作成することもできます。通常のドキュメント フローの場合、ここでのposition:absolute/fixedも同様の効果を持ちます。処理方法はフロート レイアウトで説明されているため、ここに移動するだけで済みます。

ここでは、position:absolute の絶対位置決めについて説明します。位置決めは最初の親に基づいており、position:absolute/relative/fixed などの静的に配置される要素です。それが見つからない場合は、ルートを使用します。要素は位置決めのベースとして使用されます。一般に、親要素のposition:ralativeは、子要素のposition:absoluteと組み合わせて使用​​されます。

5 番目のタイプ: css3 柔軟なレイアウト

弹性布局因为其兼容性所以还没有得到广泛的认可,不过我觉得以后它肯定会独占鳌头,就跟我看好html的视频播放器一样,早晚都会干败flash,只是时间问题!!!

第六种:transform:translate

CSS3中用于动画的一个样式,但是他可是让两个元素横向排列,这里不多说直接上代码,请用谷歌浏览器运行一下:

<style>
        div{
            width:200px;    height:200px;
        }
        .box1{
            background:green;
        }
        .box2{
            transform: translateX(200px) translateY(-200px);
            background:red;
        }
    </style>
<div>
    <div class = "box1">左边</div>
    <div class = "box2">右边</div>
</div>
ログイン後にコピー

效果和前几种方式一样。

以上就是我说分享实现横向布局的六种方式,其实每种方式都有很多大学问,我解释描述了冰山一角,并且没有过多的考虑浏览器的兼容性,不过还是希望对你有所帮助。

以上が要素を水平に配置する 6 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

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

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

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

See all articles