border-image を使用してテキストバブルの境界線を実装する方法のサンプルコード

border-image を使用してテキストバブルの境界線を実装する方法のサンプルコード

開発中に、非常に単純なテキストバブル効果に遭遇しました。これは、おおよそ次のようになります。

うーん、簡単そうですね。実装のアイデアは次のとおりです

  • 本体は div なので、グラデーション、境界線、丸い角を追加するだけです。
  • インゴットは左側の画像を切り取り、::before を使用して左側に配置します。
  • マウスは画像の右側を切り取り、::after を使用して右側に配置します。

基本的には難しくなく、数分で完了します。それまで...

製品: ちなみに、このバブル チャートは後でバックグラウンドで設定できるようになります。その後、ユーザーの個人署名として扱われる画像をアップロードするだけで済みます。 私:! ! ! (╯‵□′)╯︵┻━┻

これはちょっと恥ずかしいですね。商品のBefore写真とAfter写真を用意して、その間に自分でグラデーションを書くことはできません。もうすぐ殺されてしまうだろう。

仕事を始めて間もない頃、Android の同僚が .9png というものについて話しているのを聞いたので、フロントエンドで同様の効果を実現できるかどうかをオンラインで検索しました。案の定、見つけました。

.9png

.9pngとは何ですか? .9png は Android 上の画像形式で、特にバブル効果に使用されます。写真を9分割し、四隅の領域が引き伸ばされないのが特徴です。真ん中の部分だけが伸びます。

この方法では、コンテンツ領域が拡大しても、コーナーに保持された要素は変形されません。

フロントエンド実装

賢い学生はここをクリックして直接効果を見ることができます https://codepen.io/gong12339/pen/PowxmzL

フロントエンドに .9png を実装するには、次の属性が必要です。

公式に推奨されている .9png 画像の解像度は 81 * 81 なので、9 つのカット領域はそれぞれ幅と高さが 27 * 27 になります。私の作品は長方形なので、スライスの位置を自分で測定する必要があります。そして私の写真は明らかに垂直方向の伸縮をサポートしていません

。国境 {
  境界線の幅: 18px 44px 25px 28px;
  境界線のスタイル: solid;
  境界線画像のソース:url(https://raw.githubusercontent.com/gong12339/vic-blog/master/static/img/border.9.png);
  境界線画像スライス:25 44 25 28 塗りつぶし;
  画像の境界線の幅:25px 44px 25px 28px;
}
  • border-width: 27px; 境界線の幅を設定する
  • border-style: solid; 境界線の種類を設定する
  • 境界線画像のソース: url('a.png')
  • 画像アドレスを設定するだけで、何も言うことはありません
  • 画像スライスの境界線: 27 27 27 27;
  • スライスの位置(上、右、下、左)を設定します。すべて同じ場合は、1 つだけ記述できます。
  • 画像の境界線の幅: 27px 27px 27px 27px;
  • 境界線の幅(上、右、下、左)を設定します。すべて同じ場合は、1つだけ記述します。

ここでは、画像の上、右、下、左から対応する距離に線を描き、画像を 9 つの領域に分割する (単位を含めることはできないことに注意してください) border-image-slice -slice に焦点を当てます。

この時点で、基本的に設定は完了しました

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

<<:  MySQLカバーインデックスの利点

>>:  Zabbix 5.0 ディスク自動検出と読み取り/書き込み監視の問題を分析する

推薦する

血の写輪眼と輪廻眼の特殊効果コードを実現するためのHTML+CSS

結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...

Tomcat マルチポートドメイン名アクセスと gzip 圧縮方式を有効にする構成

1. デフォルトのポート8080に加えて、ドメイン名のアクセスとserver.xmlのオープンにポー...

JavaScript配列についてさらに詳しく知るのに役立つ記事

目次1. 配列の役割: 2. 配列の定義: 1. コンストラクタを通じて配列を作成する2. リテラル...

Mac VMware Fusion CentOS7 静的 IP 構成チュートリアル図

目次CentOS7をインストールする静的IPの設定viを使用してファイルを編集するCentOS7をイ...

Linuxでバージョン情報を表示する方法

Linux でバージョン情報を表示する方法。ビット数、バージョン情報、CPU コア情報、CPU 固有...

Linux で履歴コマンドを表示および実行する方法

履歴コマンドを表示し、指定されたコマンドを実行します owen@owen:~/owen/softwa...

MySQLログシステムの使い方に関する簡単なチュートリアル

目次序文1. エラーログ2. バイナリログ1. バイナリログを有効にする2. バイナリログ形式3. ...

Zookeeper 不正アクセス テストの問題

目次序文Zookeeper サービスのオープンを検出情報を入手する接続テスト接続先修理計画参照する序...

JavaScript のコールバック関数の理解と使用

目次概要コールバックまたは高階関数とは何ですか?コールバック関数はどのように機能しますか?コールバッ...

HTML テーブルタグチュートリアル (27): セルの背景画像属性 BACKGROUND

セルの背景画像を設定でき、任意の GIF または JPEG 画像ファイルを使用できます。基本的な構文...

Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル

Python8のインストールを最小化した後、Python3.8.1をインストールしました。オンライン...

htm 初心者ノート(初心者は必ず読んでください)

1. HTMLとは何かHTML (ハイパーテキスト マークアップ言語): ハイパーテキスト マーク...

Linuxにおけるumaskコマンドの使用原理と計算方法の詳しい解説

目次umask umaskの使用法原理1. umask値2. ファイルディレクトリの最大権限3. 従...

Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法

最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...

MySQL 5.7 に組み込まれているストレス テストの mysqlslap コマンドと構文の詳細な説明

序文mysqlslap は、MySQL サーバーへのクライアント負荷をシミュレートし、各ステージの時...