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エスケープシーケンス

HTML では、<、>、& などは特別な意味を持ち (<、> はリン...

XHTML 入門チュートリアル: XHTML とは何ですか?

HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...

Tomcat で複数の war パッケージを展開する方法と手順

1 背景JDK1.8-u181とTomcat8.5.53がインストールされました。インストール後、環...

MySQL の binlog_format モードと設定の詳細な分析

MySQL レプリケーションには、SQL ステートメント ベースのレプリケーション (SBR)、行ベ...

位置のいくつかの巧妙な応用の詳細な説明:sticky スティッキーポジショニング

背景: position:sticky はスティッキー配置とも呼ばれます。スティッキー配置の要素は、...

MySQL (8 および 5.7) の Docker インストール

この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を...

Linux Centos8 CA証明書作成チュートリアル

必要なファイルをインストールする Yum インストール openssl-* -yデータベースインデッ...

Ajax は CORS レスポンス ヘッダーを設定してクロスドメインの問題を解決し、クロスドメインのケース スタディを実現します。

1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...

Apache での ModSecurity のインストール、有効化、および構成

ModSecurity は、Web サーバーに入るすべてのパケットをチェックする強力なパケット フィ...

Linux で crontab を使用してスケジュールされたタスクを追加する方法

序文Linux システムはシステム サービス crond によって制御されます。 Linux システ...

JavaScript のマクロタスクとマイクロタスクの詳細

目次1. マイクロタスクとは何ですか? 2. マクロタスクとは何ですか? 3. 事例3.1 結論4....

HTML リンク アンカー タグと SEO におけるその役割の概要

<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...

MYSQL から MARIADB へのプロジェクト移行に関するチュートリアル

データベース (MySQL) を準備します。すでに MySQL をお持ちの場合は、これを無視できます...