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
Anchor Positioning Just Don't Care About Source OrderAnchor Positioning Just Don't Care About Source OrderApr 29, 2025 am 09:37 AM

The fact that anchor positioning eschews HTML source order is so CSS-y because it's another separation of concerns between content and presentation.

What does margin: 40px 100px 120px 80px signify?What does margin: 40px 100px 120px 80px signify?Apr 28, 2025 pm 05:31 PM

Article discusses CSS margin property, specifically "margin: 40px 100px 120px 80px", its application, and effects on webpage layout.

What are the different CSS border properties?What are the different CSS border properties?Apr 28, 2025 pm 05:30 PM

The article discusses CSS border properties, focusing on customization, best practices, and responsiveness. Main argument: border-radius is most effective for responsive designs.

What are CSS backgrounds, list the properties?What are CSS backgrounds, list the properties?Apr 28, 2025 pm 05:29 PM

The article discusses CSS background properties, their uses in enhancing website design, and common mistakes to avoid. Key focus is on responsive design using background-size.

What are CSS HSL Colors?What are CSS HSL Colors?Apr 28, 2025 pm 05:28 PM

Article discusses CSS HSL colors, their use in web design, and advantages over RGB. Main focus is on enhancing design and accessibility through intuitive color manipulation.

How can we add comments in CSS?How can we add comments in CSS?Apr 28, 2025 pm 05:27 PM

The article discusses the use of comments in CSS, detailing single-line and multi-line comment syntaxes. It argues that comments enhance code readability, maintainability, and collaboration, but may impact website performance if not managed properly.

What are CSS Selectors?What are CSS Selectors?Apr 28, 2025 pm 05:26 PM

The article discusses CSS Selectors, their types, and usage for styling HTML elements. It compares ID and class selectors and addresses performance issues with complex selectors.

Which type of CSS holds the highest priority?Which type of CSS holds the highest priority?Apr 28, 2025 pm 05:25 PM

The article discusses CSS priority, focusing on inline styles having the highest specificity. It explains specificity levels, overriding methods, and debugging tools for managing CSS conflicts.

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),