百度图片那样的图片自适应形式
百度图片那样的图片自适应方式
项目需要,要把1366*768的网页分成三种方式显示:两部分(上部分1366*192,下为1366*576),三部分(上部分1/4,下部分平分两块,每块683*576),四部分(每块683*384),可以自由选择分块数量。
重点是有些分块区域(1366*576,683*576,683*384)要显示多张图片轮播,客户想放进同一张图片向百度图片那样能够自己适应分辨率大小,不至于造成图片拉伸变形,怎么弄啊?
------解决思路----------------------
自适应不拉升是根据图片的width和height算出两者的比例,然后再根据你实际要显示的width和height进行换算,究竟是以width为基准还是以height为基准,然后按此比例缩放,可能的代码如下
至于分块没搞懂你是想怎么样
------解决思路----------------------
你可以通过样式控制图片显示哪些部分,通过js控制图片等比例显示,我只能提供下这样的思路,css部分毕竟不在行
比如说1366*768一切二的,你可以先把图片换算成1366*768比例,然后通过css遮盖,其实上下用的都是指向了同一个图片
------解决思路----------------------
jq类库中有相关方法
项目需要,要把1366*768的网页分成三种方式显示:两部分(上部分1366*192,下为1366*576),三部分(上部分1/4,下部分平分两块,每块683*576),四部分(每块683*384),可以自由选择分块数量。
重点是有些分块区域(1366*576,683*576,683*384)要显示多张图片轮播,客户想放进同一张图片向百度图片那样能够自己适应分辨率大小,不至于造成图片拉伸变形,怎么弄啊?
------解决思路----------------------
自适应不拉升是根据图片的width和height算出两者的比例,然后再根据你实际要显示的width和height进行换算,究竟是以width为基准还是以height为基准,然后按此比例缩放,可能的代码如下
double picWidth,picHeight;
double showMaxWidth,showMaxHeight;
double rate = Math.Min(showMaxWidth/picWidth,showMaxHeight/picHeight);
int factWidth =picWidth*rate;
int factHeight=picHeight*rate;
至于分块没搞懂你是想怎么样
------解决思路----------------------
你可以通过样式控制图片显示哪些部分,通过js控制图片等比例显示,我只能提供下这样的思路,css部分毕竟不在行
比如说1366*768一切二的,你可以先把图片换算成1366*768比例,然后通过css遮盖,其实上下用的都是指向了同一个图片
------解决思路----------------------
jq类库中有相关方法