【CSS】Responsive image_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:46:20
Original
1373 people have browsed it

Original image: (width 1680px, height 1050px)


However, when we usually make websites, when is larger than the window, a horizontal scroll bar will appear and the picture will be truncated, as shown in the following figure:


This Sometimes we can use responsive technology to solve the problem:

Responsive images mean that when the size of the browser screen window changes, the image will change as the window size changes, and the image will not be truncated or truncated. A horizontal scroll bar appears.

HTML code:

<body>       <img src="1.jpg" alt=””/></body>
Copy after login

CSS code:

img{		width: 100%;		   /*设定为百分比那就OK*/		max-width: 100%;    /*为了保证图片不被拉伸,可加上此CSS属性*/	}
Copy after login

Effect:


The above example is the case of inserting the img tag, so how to deal with the background image?

HTML code:

<body>    <div class="backgroundImgShow">    	<p class="text">12111111111111111444444444444444444444444444445555555555555</p>    </div></body>
Copy after login

CSS code:

body,div,p{		margin: 0;		padding: 0;	}.backgroundImgShow {		background: url(1.jpg) no-repeat 50% 50%;	}.text{		color: white;		word-wrap: break-word;		font-size: 30px;	}
Copy after login
Generally, when the height of the content is less than the height of the background image, the background image cannot be fully displayed, as follows As shown in the picture:


At this time we may think of setting the content area to the same height as the background image. For example, my example image is 1680px*1050px, then my The CSS height value can be set to 1050px;

body,div,p{		margin: 0;		padding: 0;	}	.backgroundImgShow {		background: url(1.jpg) no-repeat 50% 50%;		<strong><span style="color:#ff0000;"> -webkit-background-size: 100%;		background-size: 100%;		height: 1050px;</span></strong>	}	.text{		color: red;		word-wrap: break-word;		font-size: 30px;	}
Copy after login
In this way, the background image can be scaled proportionally, but the image has a blank height of 1050px from the top of the browser, as shown in the figure:


At this time, remove the height and modify the CSS code to:

body,div,p{		margin: 0;		padding: 0;	}	.backgroundImgShow {		background: url(1.jpg) no-repeat 50% 50%;		 -webkit-background-size: 100%;		background-size: 100%;<span style="white-space:pre">		</span><strong><span style="color:#ff0000;">padding-top: 62.5%; 	/* 1050/1680=0.625 即高度除以宽度,可以解决背景图片的比例问题 */</span></strong>	}	.text{		color: red;		word-wrap: break-word;		font-size: 30px;	}
Copy after login
The effect is as follows:


You can see that there will still be a little white border on the picture, and the text is not completely inside the picture. At this time we can further optimize, we You can change background-size: 100%; to background-size: cover; which means that the background image fills the container that wraps it and scales it proportionally. Rendering:


But the text will have a large top margin because padding-top:62.%; is set above, so you can set margin -top:-62.5%; to cancel margins. Final image:


Final CSS code:

body,div,p{		margin: 0;		padding: 0;	}	.backgroundImgShow {		background: url(1.jpg) no-repeat 50% 50%;		 -webkit-background-size: cover;		background-size: cover;		padding-top: 62.5%; 	}	.text{		color: red;		margin-top: -62.5%;		word-wrap: break-word;		font-size: 30px;	}
Copy after login

Note: Although it can be passed responsive This method allows images to be scaled equally on screens of different sizes. When large images (high resolution) are loaded and browsed on smaller screens (such as mobile phones), there is little difference in loading speed when there is WiFi, but when there is no WiFi In this case, it is very difficult to load such a large image. At this time, you can use media queries and use smaller (lower resolution) images instead of large images, which will load faster and improve the user experience.


Author: Zhizhi

Sign: The road is long and long, I will search up and down.

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template