search
HomeWeb Front-endCSS TutorialHow to use css sprites to put many small pictures on one picture

How to use css sprites to put many small pictures on one picture

Jun 21, 2018 pm 04:14 PM
&quotclassdivspanpictureintegrated

This article mainly introduces how to use css sprites to put many small pictures on one picture. It has a certain reference value. Now I share it with you. Friends in need can refer to it

Webpage production Webjx article introduction: Search for the name css sprites in Google, and you will find out a lot of information. As SEO becomes more and more important, more and more websites use this technology to optimize images. Several domestic websites All large portal websites follow suit. Such as Sina, NetEase, Sohu. Download the images from their website

Search the name css sprites in Google and you will find out a lot of information. As SEO becomes more and more important, people use this technology to optimize images. There are more and more websites, and several large domestic portals all follow suit. Such as Sina, NetEase, Sohu. If you download the pictures on their website, you will see that they integrate many small pictures into one picture.

Search the name css sprites in Google, and you will find out a lot of information, and As SEO is getting more and more attention, more and more websites are using this technology to optimize images, and several large domestic portals are following suit. Such as Sina, NetEase, Sohu. If you download the pictures on their website, you will see that they have integrated many small pictures into one picture. The benefits of doing this are self-evident:

    Accelerate image display Use CSS techniques to reduce HTTP requests Conducive to website optimization seo
  1. In fact, the principle is very simple, mainly achieved by applying background positioning technology in CSS. It mainly uses an attribute background-position to control the position of a picture of a specified size in a large picture.

css sprites image background optimization technology
Let’s start with a more interesting example to make a playing card step by step and see how to position the image. First, let’s analyze the playing cards. A playing card has two colors and four patterns: spades, hearts, clubs, and diamonds. There are also J, Q, and K, these three are flower cards. Only four patterns are used in A~10, while three pictures are used in the three types of flower cards, and their positions are different, but in summary there are only a few changes, such as A-7, which is a change. The layout of three rows and three columns (A and 2 are special cases), 8-10 is one, it is four rows and three columns. J, Q, and K are one type (in fact, it is also a special variant of the first type).
It’s easy to handle once you know the principle. Let’s make their pictures first, one by one, one big picture each of spades, hearts, clubs, and diamonds, and one small picture each, J, Q, One K pattern and one background picture.
In addition, we need to make 13 digital pictures and 13 270-degree flipped pictures.
Okay, all the pictures are ready, there are 71 pictures in total, hehe, it’s a bit scary, there are so many pictures, I didn’t expect it (I will introduce a more trouble-free method in the future, no pictures, just sell it first, it’s a bit)
Let’s take the 10 of spades as an example to look at the coordinate points. The following picture is the effect of using auxiliary lines in PS:


Figure 1 It should be noted that each The content in the lower part of a card is flipped vertically from the upper part, which is why the numbers are also made into pictures.
So we can arrange and combine all the pictures together in PS, as shown in Figure 2:


Figure 2 When combining this picture, we should pay attention to that each Each picture is complete and cannot be overlapped by other pictures, and the coordinate position of each picture must be accurately calculated, such as the coordinates of its upper left corner vertex and the coordinates of its lower right corner vertex. After knowing these two coordinate points, each picture The positions of the small pictures can all be calculated.
After the picture is ready, let's start designing the structure. Because the 10 of Spades uses the most pictures among all playing cards, we will take it as an example.
HTML structure:

CSS style:

I first define the style of the total container of a playing card:


.card{width:125px;height:170px; position:absolute;overflow:hidden;border:1px #c0c0c0 solid;}
I set a fixed width and height value for it, and added a border line. Setting its absolute positioning is a foreshadowing for future positioning. Because I might do more than one playing card. In the future, when expanding, you only need to add left and top attributes to it to position it in different places. And after setting it to absolute positioning, its sub-containers can be positioned against it.

I use span, b, and em tags to represent three different types of pictures respectively. span is used to label the picture in the middle, b is used to represent the number, and em is used to represent the small icon under the number.


Each span above represents a coordinate point. Write the common part into a style to facilitate the calling of other structures, and then combine it to apply to a coordinate point, such as .

The style is defined as follows:


span{display:block;width:20px;height:21px; osition:absolute;background:url(images/card.gif) no-repeat;}

上面这个样式是定义中间的10个黑桃图片容器的通用设置。将它们设置为块状,并固定大小,设置其绝对定位,让它能定义到你想指定的位置上。

.A1{left:20px;top:20px;}

这个样式就是定位器,偏移到指定的坐标点上,其它的9个原理相似。

.up1{background-position:0 1px;}/*黑桃*/
.down1{background-position:0 -19px;}/*垂直翻转的黑桃*/

这两个样式就是载入图片,因为每张片的在原图上的坐标位置是不同的,所以你要根据前面的图片的位置找出每一个小图片的精确位置。
现在,你已经构建了html结构,并给结构设置了样式,将所有内容拼装起来,我们的黑桃10就算完成了,简单吧!
好了,一张扑克牌完成,其它的扑克牌触类旁通。
我们还要加一张图片来实现扑克牌翻过来的效果。这张图片因为要进行平铺,所以不加在上面的图片集合。

最后,将所有内容综合起来,一幅完整的扑克牌就算完成了!

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何使用css实现任意大小及任意方向和任意角度的箭头

关于CSS3 rem(设置字体大小)的解析

The above is the detailed content of How to use css sprites to put many small pictures on one picture. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How much specificity do @rules have, like @keyframes and @media?How much specificity do @rules have, like @keyframes and @media?Apr 18, 2025 am 11:34 AM

I got this question the other day. My first thought is: weird question! Specificity is about selectors, and at-rules are not selectors, so... irrelevant?

Can you nest @media and @support queries?Can you nest @media and @support queries?Apr 18, 2025 am 11:32 AM

Yes, you can, and it doesn't really matter in what order. A CSS preprocessor is not required. It works in regular CSS.

Quick Gulp Cache BustingQuick Gulp Cache BustingApr 18, 2025 am 11:23 AM

You should for sure be setting far-out cache headers on your assets like CSS and JavaScript (and images and fonts and whatever else). That tells the browser

In Search of a Stack That Monitors the Quality and Complexity of CSSIn Search of a Stack That Monitors the Quality and Complexity of CSSApr 18, 2025 am 11:22 AM

Many developers write about how to maintain a CSS codebase, yet not a lot of them write about how they measure the quality of that codebase. Sure, we have

Datalist is for suggesting values without enforcing valuesDatalist is for suggesting values without enforcing valuesApr 18, 2025 am 11:08 AM

Have you ever had a form that needed to accept a short, arbitrary bit of text? Like a name or whatever. That's exactly what is for. There are lots of

Front Conference in ZürichFront Conference in ZürichApr 18, 2025 am 11:03 AM

I'm so excited to be heading to Zürich, Switzerland for Front Conference (Love that name and URL!). I've never been to Switzerland before, so I'm excited

Building a Full-Stack Serverless Application with Cloudflare WorkersBuilding a Full-Stack Serverless Application with Cloudflare WorkersApr 18, 2025 am 10:58 AM

One of my favorite developments in software development has been the advent of serverless. As a developer who has a tendency to get bogged down in the details

Creating Dynamic Routes in a Nuxt ApplicationCreating Dynamic Routes in a Nuxt ApplicationApr 18, 2025 am 10:53 AM

In this post, we’ll be using an ecommerce store demo I built and deployed to Netlify to show how we can make dynamic routes for incoming data. It’s a fairly

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools