首先看下html代码,一个空的div,什么内容都还没放上。
02为这个div写上一些美化的样式。
03刷新页面,看下效果,现在就是显示一个有边框的div。
04要用css为这个div加上背景图片,只需要加上background-image的样式,后面的值就是图片的地址了。
background-image: url(12.jpg)
05刷新页面看下现在的效果,可以看到div已经加上图片背景了。
这算是一种图片路径的新写法。将图片进行编码,然后存在文档中。我先解释一下各自含义:
data: ----获取数据类型名称
image/gif-----指数据类型名称
base64 -----指编码模式
AAAAA ------指编码以后的结果。
background-image: url(data:image/gifbase64,AAAA)这句话的意思总体就是“获取数据类型是image gif文件,编码采用ASCII 字符,ASCII编码内容是‘AAAA’”
我知道你清楚没。这实际就是一种新写法。原理和以往不同。
以往的图片路径写法是:
background-img:url(../image/xxx.gif)
图片需要加载服务器指定路径下的对应gif文件。
新写法就是:
background-image: url(data:image/gifbase64,AAAA)
图片本身就已经以ASCII的形式存在了文档中,只需要浏览器进行编译就可以了。
新写法将图片写入文档中,可以减少客户端对服务器的请求。
换句话讲,原来我们要加载图片,是从服务器下载。
现在浏览器直接把那一串ASCII按照你的文件类型进行编译就可以出来结果了。
但是也会有问题
ie8貌似不兼容。
具体LZ可以再研究研究
使用CSS max-width和max-height实现图片自动等比例缩小
很简单我们要使用到max-width和max-height,这样即可设置对象图片最大宽度和最大高度,这样图片就会等比例缩放图片,然图片相对不变形清晰。
使用max-width:300px或max-height:100px,即可解决图片比例缩小。但这样存在一个问题,如果按照宽度缩放,但图片过高会超出溢出盒子,这个时候需要对父级使用overflow:hidden隐藏超出图片内容。但是使用max-width或max-height,IE6不支持,我们需要设置个width:expression(this.width >300 ? "300px" : this.width)或者height:expression(this.height>100?"100px":this.height)。
解决IE6支持max-height
div css解决IE6支持max-width
一般情况下只需要设置好宽度限制,比如这里只设置最大宽度为300px(max-width:300px),然后对父级使用overflow:hidden隐藏溢出图片,同时为了兼容IE6我们设置个width:expression(this.width >300 ? "300px" : this.width)解决即可。
1、具体解决DIV+CSS实例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>图片缩小不变形实例 www.divcss5.com</title>
<style>
.divcss5{ border:1px solid #000width:300pxheight:100pxoverflow:hidden}
.divcss5 img{max-width:300px_width:expression(this.width >300 ? "300px" : this.width)}
</style>
</head>
<body>
<div class="divcss5">