CSS3を使用してテキストの垂直配置を実現する方法

CSS3を使用してテキストの垂直配置を実現する方法

最近のプロジェクトでは、テキストを垂直に揃えたいと考え、CSS の writing-mode プロパティを使用しました。

Writing-mode は元々 IE でサポートされていたプロパティでしたが、後にこの新しいプロパティが CSS3 に追加されたため、IE と他のブラウザの構文は異なります。

1.0 CSS3 標準

writing-mode:horizo​​ntal-tb; //デフォルト: 水平方向、上から下 writing-mode:vertical-rl; //垂直方向、右から左 writing-mode:vertical-lr; //垂直方向、左から右

デモ

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <title>CSS テキストの垂直配置</title>
        <スタイル タイプ="text/css">
            div{
                境界線: 1px 実線の水色;
                パディング: 5px;
            }
            .縦書きテキスト{
                -webkit-writing-mode: 垂直方向;
                書き込みモード: 垂直方向;
            }
        </スタイル>
    </head>
    <本文>
        <div class="vertical-text">
            1. テキストは縦に並べられています<br />
            2. テキストは縦に並べます</div>
    </本文>
</html> 

2.0 インターネットエクスプローラ

歴史的な理由により、IE におけるこのプロパティの値は特に複雑です。

-ms-writing-mode: lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr | lr-bt | rl-bt | lr | rl | tb

詳細については、公式ドキュメントを参照してください。

https://developer.mozilla.org/en-US/docs/Web/CSS/ライティングモード/

3.0 いくつかのアプリケーション

3.1 垂直方向の中央揃え

このプロパティを使用すると、text-align:center と組み合わせて垂直方向の中央揃えを実現したり、margin: auto を使用したりできます。

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <title>CSS3 画像の垂直中央</title>
        <スタイル タイプ="text/css">
            div{
                境界線: 1px 実線の水色;
                パディング: 5px;
                高さ: 500px;
            }
            .垂直画像{
                -webkit-writing-mode: 垂直方向;
                -ms-書き込みモード: bt-rl;
                書き込みモード: 垂直方向;
                テキスト配置: 中央;
            }
        </スタイル>
    </head>
    <本文>
        <div class="vertical-img">
             <画像 src="1.jpg"/>
        </div>
    </本文>
</html> 

3.2 テキスト沈み込み効果

テキストの writing-mode を設定し、それを text-indent と組み合わせて、テキストがクリックされたときに沈む効果を実現できます。

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="utf-8">
        <title>テキスト沈み込み効果</title>
        <スタイル タイプ="text/css">
            .btn{
                幅: 50px;
                高さ: 50px;
                行の高さ: 50px;
                色: 白;
                テキスト配置: 中央;
                フォントサイズ: 16px;;
                表示: インラインブロック;
                境界線の半径: 50%;
                背景: グレー;
                カーソル: ポインタ;
            }
            .btn:アクティブ{
                テキストインデント: 2px;
            }
            .縦書きテキスト{
                 書き込みモード: tb-rl;
                -webkit-writing-mode: 垂直方向;      
                書き込みモード: 垂直方向;
                *書込みモード: tb-rl;
            }
        </スタイル>
    </head>
    <本文>
        <span>赤い封筒を受け取るにはクリックしてください</span>
        <p class="vertical-text btn">開く</p>
    </本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Docker Compose ワンクリック ELK デプロイ方式の実装

>>:  JavaScript配列の重複排除のいくつかの方法についての詳細な説明

推薦する

Vue プロジェクトで axios をカプセル化する方法 (http リクエストの統合管理)

1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...

HTMLからPDFへの変換のための純粋なクライアント側と純粋なサーバー側の実装ソリューション

必要ユーザーがフォームに入力して「保存」をクリックすると、PDF ドキュメントを直接ダウンロードでき...

IDEA 2020.3.1 で Tomcat をデプロイし、最初の Web プロジェクトを作成するプロセスの詳細な説明

目次Tomcat の紹介Tomcat の展開Web プロジェクトの作成tomcatの設定プロジェクト...

CentOS7にMariaDB 10.2.4をインストールする方法の詳細な説明

CentOS 6 以前のバージョンでは、MySQL サーバー/クライアント インストール パッケージ...

Linux に ASPNET.Core3.0 ランタイムをインストールするためのサンプル コード

# 以下の例は x64 ビット ランタイム v3.0.0 用です mkdir /runtimes ...

DockerでEurekaを設定する方法

ユーレカ: 1. JDKイメージを構築するEurekaコンテナを起動するjdkフォルダと必要なファイ...

この記事ではSQL CASE WHENの使い方を詳しく説明します

目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...

MySQLで大きなテーブルを正常に削除する方法の詳細な説明

序文テーブルを削除するには、無意識に思い浮かぶコマンドは、DROP TABLE "テーブル...

htmlハイパーリンクaのクリックイベントの後、hrefで指定されたアドレスにジャンプします。

場合によっては、ジャンプを完了するために href の代わりにハイパーリンク <a> を...

Tomcatのデフォルトプログラム公開パスの使用と変更についての説明

tomcat7 のデフォルトのプログラム公開パスは tomcat/webapps/ROOT/ です。...

mysql-connector-java.jar パッケージのダウンロード プロセスの詳細な説明

mysql-connector-java.jar パッケージのチュートリアルをダウンロードします: ...

mysql はインデックスを無効にしますか?

mysql の IN はインデックスを無効にしますか?しませんよ! 結果をご覧ください: mysq...

tomcat デプロイメント プロジェクトの実装と IDEA との統合

目次Tomcat でプロジェクトを展開する 3 つの方法プロジェクトをwebappsディレクトリに直...

Reactにおけるコンポーネント通信の詳細な説明

目次親コンポーネントは子コンポーネントと通信します子コンポーネントは親コンポーネントと通信しますコン...

MySQL PXC は IST 送信のみで新しいノードを構築します (推奨)

需要シナリオ: 既存の PXC 環境には大量のデータがあります。新しく購入したサーバーをこのクラスタ...