Home >Web Front-end >HTML Tutorial >【CSS】Responsive image_html/css_WEB-ITnose
Original image: (width 1680px, height 1050px)
However, when we usually make websites, when
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>
CSS code:
img{ width: 100%; /*设定为百分比那就OK*/ max-width: 100%; /*为了保证图片不被拉伸,可加上此CSS属性*/ }
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>
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; }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; }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; }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; }
Author: Zhizhi
Sign: The road is long and long, I will search up and down.