検索
ホームページウェブフロントエンドCSSチュートリアルCSS背景を使用してグラフィックを描画する方法(コードは添付されています)

この記事の内容は、CSS 背景を使用してグラフィックを描画する方法 (コード付き) です。必要な方は参考にしていただければ幸いです。

日々の仕事の中で、特定の要素に特別な背景画像を追加することが必然的に求められると思います。その際、通常は PS を手に取り、それを実行します。この方法が面倒であることは言うまでもなく、UI が自動的にカットしてくれるのであれば十分ですが、そうでない場合は自分で行うこともできます。特大の画像全体を切り取る必要がある場合もあります。 「優秀な」フロントエンドとして、衣食足りるというコンセプトに沿って、特別な絵を描くための背景を使用する方法を紹介します。

まずは内容を見てみましょう。通常は次のように表示されます

CSS背景を使用してグラフィックを描画する方法(コードは添付されています)

この状況に遭遇した場合の通常の解決策は、次の画像を切り取ることです

CSS背景を使用してグラフィックを描画する方法(コードは添付されています)

そしてそれを渡します CSS を使用して

<div></div>

<style>
  .box{
    width: 500px;
    height: 500px;
    background: url(&#39;imgurl&#39;);
    background-size: 20%;
  }
</style>

もちろん、今は画像を切り取らずに、CSS を使用して直接実行します

.box{
    width: 500px;
    height: 500px;
    background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),
                linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 0,
                linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px,
                linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 100px 50px;
    background-size: 100px 100px;
    background-color: #fff;
}

We画像を切り取るのとまったく同じ効果が得られることがわかります。

次に見てみましょう。なぜ上記の CSS はこのように書かれているのでしょうか。
まず、背景を理解しましょう。 CSS3 グラデーションは、background: url() として理解できる背景画像と見なすことができ、背景画像は複数の画像にすることができます。それに応じて、複数の線形グラデーションを記述し、色を制御することでそれらを独立した画像ブロックに結合できます。 。背景サイズの更新はカンマで区切ることができ、対応する線形グラデーションがループ内に設定されます。
ここで、線形グラデーションは後ろから前に描画されることに注意してください。これは、前の色が後ろの色を覆うことを意味します。

上記のグリッドの背景を分析すると、4x4 グリッドとそれを覆う 2 つの 1x1 グレー グリッドとして見えると思います。各灰色のグリッドは

CSS背景を使用してグラフィックを描画する方法(コードは添付されています)

の基本パターンから組み立てることができるため、次の

background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),
            linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px;

CSS背景を使用してグラフィックを描画する方法(コードは添付されています)

が得られます。

#ここには小さな三角形の間に隙間があるため、

CSS背景を使用してグラフィックを描画する方法(コードは添付されています)

グラフィックを使用してそれらを再度結合します。 。

background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb),
            linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px,
            linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 0,
            linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 100px 50px;

ついに、上記と同じグリッドの背景を取得できます。
その他の例

必要な背景には繰り返しが必要ない場合があり、グラフィックにはルールがありません
例:

CSS背景を使用してグラフィックを描画する方法(コードは添付されています)

##現時点では、グラフィックの各隅を個別に設定する必要があります。

.box{
    width: 500px;
    height: 500px;
    background: linear-gradient(black, black) left top,
                linear-gradient(black, black) left top,
                linear-gradient(black, black) right top,
                linear-gradient(black, black) right top,
                linear-gradient(black, black) right bottom,
                linear-gradient(black, black) right bottom,
                linear-gradient(black, black) left bottom,
                linear-gradient(black, black) left bottom;
    background-repeat: no-repeat;
    background-size: 4px 20px, 20px 4px;
原理は、実際には線形グラデーションで各グラフィックを描画し、位置とサイズを設定することで、最終的に目的の画像を得ることができます。

将来的には、特別な背景画像が発生した場合、CSS を通じて実装できるようになります。

以上がCSS背景を使用してグラフィックを描画する方法(コードは添付されています)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はsegmentfault思否で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
5个常见的JavaScript内存错误5个常见的JavaScript内存错误Aug 25, 2022 am 10:27 AM

JavaScript 不提供任何内存管理操作。相反,内存由 JavaScript VM 通过内存回收过程管理,该过程称为垃圾收集。

实战:vscode中开发一个支持vue文件跳转到定义的插件实战:vscode中开发一个支持vue文件跳转到定义的插件Nov 16, 2022 pm 08:43 PM

vscode自身是支持vue文件组件跳转到定义的,但是支持的力度是非常弱的。我们在vue-cli的配置的下,可以写很多灵活的用法,这样可以提升我们的生产效率。但是正是这些灵活的写法,导致了vscode自身提供的功能无法支持跳转到文件定义。为了兼容这些灵活的写法,提高工作效率,所以写了一个vscode支持vue文件跳转到定义的插件。

巧用CSS实现各种奇形怪状按钮(附代码)巧用CSS实现各种奇形怪状按钮(附代码)Jul 19, 2022 am 11:28 AM

本篇文章带大家看看怎么使用 CSS 轻松实现高频出现的各类奇形怪状按钮,希望对大家有所帮助!

Node.js 19正式发布,聊聊它的 6 大特性!Node.js 19正式发布,聊聊它的 6 大特性!Nov 16, 2022 pm 08:34 PM

Node 19已正式发布,下面本篇文章就来带大家详解了解一下Node.js 19的 6 大特性,希望对大家有所帮助!

浅析Vue3动态组件怎么进行异常处理浅析Vue3动态组件怎么进行异常处理Dec 02, 2022 pm 09:11 PM

Vue3动态组件怎么进行异常处理?下面本篇文章带大家聊聊Vue3 动态组件异常处理的方法,希望对大家有所帮助!

聊聊如何选择一个最好的Node.js Docker镜像?聊聊如何选择一个最好的Node.js Docker镜像?Dec 13, 2022 pm 08:00 PM

选择一个Node​的Docker镜像看起来像是一件小事,但是镜像的大小和潜在漏洞可能会对你的CI/CD流程和安全造成重大的影响。那我们如何选择一个最好Node.js Docker镜像呢?

聊聊Node.js中的 GC (垃圾回收)机制聊聊Node.js中的 GC (垃圾回收)机制Nov 29, 2022 pm 08:44 PM

Node.js 是如何做 GC (垃圾回收)的?下面本篇文章就来带大家了解一下。

【6大类】实用的前端处理文件的工具库,快来收藏吧!【6大类】实用的前端处理文件的工具库,快来收藏吧!Jul 15, 2022 pm 02:58 PM

本篇文章给大家整理和分享几个前端文件处理相关的实用工具库,共分成6大类一一介绍给大家,希望对大家有所帮助。

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

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン