ホームページ ウェブフロントエンド htmlチュートリアル 大きな画像から小さな画像を切り出すための CSS 完全チュートリアル (背景位置アプリケーション)_html/css_WEB-ITnose

大きな画像から小さな画像を切り出すための CSS 完全チュートリアル (背景位置アプリケーション)_html/css_WEB-ITnose

Jun 24, 2016 am 11:35 AM

背景位置の応用を解説したとても分かりやすい教科書だと思います。マークを付けます。

Web インターフェイスを勉強するのが好きな多くの子供たちは、Web ページ内の多くの画像素材が 1 つの画像に結合されるという素晴らしい現象に遭遇したことがあると思います。最初にWebサイトで小皿を模倣したとき、私はこの現象によく遭遇しました。当時は、他の人の写真素材をすべて使用することはできませんでした。 PSで単体のレイマジダに。 。 。

実際、これは非常に単純な技術であるため、問題の鍵が見つかっていないことは想像できません。 C 现 CSS カットを実現したい場合は、Background-posity 属性を使用するだけで済みます。理面 文字通り、この属性は背景の配置です。Google Web サイトのマテリアル マップを見て、このような動的な効果を実現するために B ピクチャを表示します。

ボタンは、通常、クリック イベントに応答するために使用されます。ただし、背景画像をハイパーリンクに直接追加することはできません。これは、テキストの長さが異なるためです。ハイパーリンクが変更され、スタイルも変更されました。

地球上の一般的なアプローチは、ハイパーリンクを div に配置することです。ハイパーリンクは関数の実装を担当し、div は背景画像をロードします。 htmlの構造は次のとおりです。 假如我们什么都不考虑,直接整张图片设背景,

样式如下:

1 <div class="btn">2 <a href="http://www.kpdown.com">+1</a>3 </div>
ログイン後にコピー

效果如图:

div是块级元素、默认是占一行はい、今のところは心配する必要はありませんが、背景画像が繰り返されていることから、これは明らかに私たちが望んでいることではありません。background-repeat:no-repeat 属性を使用して、次のようにスタイルを改善します。

1 .btn{2  background:url(bg.png);3 }
ログイン後にコピー

繰り返されません。

div は長方形のボックスとして理解でき、その左上隅が頂点であり、背景画像の頂点も左上隅になります。div が背景画像をロードすると、2 つの頂点が重なり、座標が重なります。頂点の値は (0,0) です。わからない場合は、図を見てください。非常に簡単です。 。 。

+1 の小さな画像が大きな画像に混在している場合、この属性は移動しない大きな画像に相当します。頂点の位置は以下のようになります。

このように、divに表示されるのは小さい画像ですが、表示されるのは小さい画像だけではなく、影が付いている部分です。写真の一部です。どうすればいいですか?

divの幅と高さを、小さい画像

の幅と高さと同じになるように設定します。 ! A b 背景位置プロパティを見てみましょう。水平方向に移動するピクセルと垂直方向に移動するピクセルの 2 つのパラメーターがあります。大きな画像が動かずに div が動く場合、これら 2 つの方向に移動するピクセルは負の数で表されることに注意してください。したがって、大きな画像の左上隅と比較して、小さな画像の水平方向の移動ピクセルと垂直方向の移動ピクセルを見つければよいことになります。 Xiaocai は専門的なツールを必要とせず、大きな画像の左上隅から切り取りを開始し、小さな画像の上部で停止するだけでほぼ完了です。デバッグを繰り返して、基本的には完了です。

この例では、小さな画像 A の変位は -25px -374px、小さな画像 A のサイズは 24px 16px です。したがって、

css スタイルは次のとおりです:

1 .btn{2  background:url(bg.png);3  background-repeat:no-repeat;4 }
ログイン後にコピー

効果は次のとおりです。ラ!単純にする! !

先解释个问题,图片上有+1,而我又在超链上写了一个+1,这是因为很多时候文本内容不是写在图片上的,那样灵活性太差,文本就是文本,小菜为了给大家一个完整的演示,因此又写了一个+1,接下来就处理它!

先把+1居中,居中分为水平居中和垂直居中,水平居中超链接,需要在div上设置text-align:center;,这个属性是对子节点而言的;垂直居中div中的超链接,只需要把a标签的line-height属性设成和div的高度一样即可。样式如下:

 1 .btn{ 2  background:url(bg.png); 3  background-repeat:no-repeat; 4  background-position:-25px -374px; 5  height:16px; 6  width:24px; 7  text-align:center; 8 } 9 .btn a{10  line-height:16px;11 }
ログイン後にコピー

效果如下:

接下来呢,还有问题,我们可以发现,只有当鼠标移到+1文本上时,鼠标才会变成手型,才能响应事件。

这显然不是我们想要的,应该是鼠标移入图片时,确切的说是鼠标移入div时,就可以变成手型,也能响应事件。

这也简单,只需要在a标签(超链接)上加display:block;属性即可。

另外这个下划线比较碍眼,用text-decoration:none;属性去掉,很常见,就不多说了。

样式如下:

 1 .btn{ 2  background:url(bg.png); 3  background-repeat:no-repeat; 4  background-position:-25px -374px; 5  height:16px; 6  width:24px; 7  text-align:center; 8 } 9 .btn a{10  line-height:16px;11  display:block;12  text-decoration:none;13 }
ログイン後にコピー

接下来就剩最后一件事了,那就是鼠标移入的时候切换背景。

本例是div里边套a标签,鼠标移入换背景,当然是指鼠标移入div,而且换背景也是换div的背景,可不是a标签的哦!!

因此要在div标签上调用hover,div的样式是btn,因此写成.btn:hover{}。

换背景还需要找到背景图片,这又需要抠小图了,也就是抠上边指出的B图。

刚刚显示的是A小图,B小图和A小图在同一水平线上,因此竖直方向的移动像素是相同的,水平方向差不就是A小图的水平像素加上A小图的宽度。

经过测试,B小图的位移是:-50px -374px,尺寸大小就不用关心了,肯定和A小图一样,不一样就没法做了。

把B小图的定位background-position:-50px -374px;放在.btn:hover{}里即可。

样式如下:

 1 .btn{ 2  background:url(bg.png); 3  background-repeat:no-repeat; 4  background-position:-25px -374px; 5  height:16px; 6  width:24px; 7  text-align:center; 8 } 9 .btn a{10  line-height:16px;11  display:block;12  text-decoration:none;13 }14 .btn:hover{15  background-position:-50px -374px;16 }
ログイン後にコピー

 

        最终效果-鼠标移入之前:

   

        最终效果-鼠标移入之后:

 

       好啦,教程到这就结束了,小菜只是简单的演示了一个完整的制作流程,中间还有很多细节问题,比如浏览器兼容、CSS优化等等,这就需要读者自己探索了。

       其实小菜一直在说的CSS抠图,真正的技术名叫CSS Sprite技术,国人习惯叫CSS精灵。

       这种技术有好处也有坏处,好处是由于图片都放在一起,请求时只需请求一张图片,减少了与服务器的交互次数,还可以解决hover延迟加载的问题。坏处就是不好控制,扩展性不太好,以后有改动,可谓是牵一发而动全身,而且有时会因为屏幕分辨率不同出现背景断裂现象。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

HTML:構造、CSS:スタイル、JavaScript:動作 HTML:構造、CSS:スタイル、JavaScript:動作 Apr 18, 2025 am 12:09 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTML、CSS、およびJavaScriptの未来:Web開発動向 HTML、CSS、およびJavaScriptの未来:Web開発動向 Apr 19, 2025 am 12:02 AM

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

HTMLの未来:ウェブデザインの進化とトレンド HTMLの未来:ウェブデザインの進化とトレンド Apr 17, 2025 am 12:12 AM

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTML対CSS対JavaScript:比較概要 HTML対CSS対JavaScript:比較概要 Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML対CSSおよびJavaScript:Webテクノロジーの比較 HTML対CSSおよびJavaScript:Webテクノロジーの比較 Apr 23, 2025 am 12:05 AM

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

HTML:それはプログラミング言語か何か他のものですか? HTML:それはプログラミング言語か何か他のものですか? Apr 15, 2025 am 12:13 AM

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTMLを超えて:Web開発のための重要なテクノロジー HTMLを超えて:Web開発のための重要なテクノロジー Apr 26, 2025 am 12:04 AM

強力な機能と優れたユーザーエクスペリエンスを備えたWebサイトを構築するには、HTMLだけでは十分ではありません。次のテクノロジーも必要です。JavaScriptは、Webページに動的とインタラクティブ性を与え、リアルタイムの変更がDOMを操作することで達成されます。 CSSは、美学とユーザーエクスペリエンスを向上させるために、Webページのスタイルとレイアウトを担当しています。 React、Vue.JS、Angularなどの最新のフレームワークとライブラリは、開発効率とコード組織構造を改善します。

&lt; strong&gt;&lt; b&gt;の違いは何ですかタグと&lt; em&gt;&lt; i&gt;タグ? &lt; strong&gt;&lt; b&gt;の違いは何ですかタグと&lt; em&gt;&lt; i&gt;タグ? Apr 28, 2025 pm 05:42 PM

この記事では、HTMLタグの違いについて説明します。、、、、、、、およびプレゼンテーションの使用とSEOとアクセシビリティへの影響に焦点を当てています。

See all articles