仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1210|回复: 7
打印 上一主题 下一主题

[DIV+CSS] 来讲讲:CSS网页制造技能:图片的自顺应居中和兼容处置

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 22:52:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最新版本html5+CSS3与2014年10月29日,万维网联盟宣布,经过几乎8年的艰辛努力,该标准规范终于最终制定完成。
破洛洛文章简介:图片的自顺应居中及兼容性处置。
头几天在做腾讯微博的微卖场的时分,碰到必要做图片居中的需求。也就是说,商品列表中的图片必要居中显现。由于图片是卖家本人把商品图片链接过去,商品图片的巨细没有做限定和过滤。以是我们必要做的是,让图片在容器傍边程度居中、垂直居中、图片自顺应容器巨细。图片原始图片巨细和在容器中显现的巨细有如许的干系:
假定容器巨细为200像素*200像素,图片的宽为x像素,高为y像素,则:当x<=200,y<=200时,图片位于容器中的两头,即程度居中和垂直居中,显现在容器的图片巨细为:宽=x,高=y;当x>200,y<=200时,显现在容器中的图片巨细为:宽=200,高=200y/x;当x<=200,y>200时,显现在容器中的图片巨细为:宽=200x/y,高=200;当x>200,y>200,且x>y,显现在容器中的图片巨细为:宽=200,高=200y/x;当x>200,y>200,且x<y,显现在容器中的图片巨细为:宽=200x/y,高=200;当x>200,y>200,且x=y,显现在容器中的图片巨细为:宽=200,高=200;为了更好地看到效果,先把图片的原始图片展现出来,以便和它在列表容器傍边做对照。
x<=200,y<=200的图片:

x>200,y<=200的图片:

x<=200,y>200的图片:

x>200,y>200,且x=y的图片:

图片自顺应居中合用的场景有商品列表、相册、搜刮图片了局列表等。怎样利用静态的办法完成如许的效果呢?看了网上的一些办法,加上本人的一些申明,做了几个demo,供人人参考。
利用通明图片,在该图片上设置背景图。

这类办法合用于小图片,即商品图都比容器小,不必要缩放,加载形态图片可使用这个办法。这个办法的范围性在于,商品图片必要在服务器端过滤,大概先等比例减少,再在扫瞄器端显现。
  1. <divclass="wrap_1"><ahref=""></a></div>
复制代码
  1. /*图片的背景图体例*/.wrap_1{width:200px;height:200px;border:1pxsolidred;}.wrap_1img{display:block;background-repeat:no-repeat;background-position:center;}
复制代码
检察demo
设置display为table-cell

在img外设置两层div,最外层div的款式设置为display:table-cell。由于IE6、7中对table-cell不撑持,以是针对IE6、7,设置了position来完成居中。在IE8中,假如图片自己的宽比容器的严惩,则容器宽度会被撑开,这里利用针对IE8的width为200px处置。
  1. <divclass="wrap_2_outer"><divclass="wrap_2_inner"><ahref=""></a><i></i></div>
复制代码
  1. /*空标签*/.wrap_3{width:200px;height:200px;overflow:hidden;text-align:center;font-size:0;border:1pxsolidred;}.wrap_3i{display:inline-block;width:0;height:100%;overflow:hidden;margin-left:-1px;font-size:0;line-height:0;vertical-align:middle;}.wrap_3img{vertical-align:middle;max-height:200px;max-width:200px;}
复制代码
检察demo
设置行高line-height

对图片容器设置行高为容器的高。
  1. <divclass="wrap_4"><imgsrc="400_300.jpg"alt=""></div>
复制代码
  1. /*设置行高*/.wrap_4{width:200px;height:200px;text-align:center;border:1pxsolidred;font-family:arial;line-height:198px;font-size:0;_font-size:180px;}.wrap_4img{display:inline-block;vertical-align:middle;max-height:200px;max-width:200px;}
复制代码
检察demo
以上完成的效果为:

IE6的杯具

关于图片的自顺应,利用max-width和max-height。无情无义的实际就是IE6及以下不撑持max-width和max-height。以上用于修复IE6中max-height,max-width的表达式_width和_height,在运转时还存在小成绩。用分歧的图片试了一下,关于宽和高最少一个值小于或即是200的图片,可以完善地展现,可是若宽和高二者都年夜于200,则会呈现一些小成绩。
若_width和_height二者一同利用,x>200,y>200,且x>y的图片,会显现幻想的形态。x>200,y>200,且x<y的图片,会显现为200*200的巨细,可是没有按比例缩放:(。

若_width、_height独自利用,则可以使对应的图片显现为幻想形态。如仅利用_width,能对横图起感化,对竖图不起感化。

反之,如仅利用_height,能对竖图起感化,对横图不起感化。

结论是,_width和_height都写上,如许做有95%完善了。别的对CSSExpression的功能做优化,猫哥做了细致的剖析供人人参考。针对IE6加上_width:expression(function(el){el.style.width=el.offsetWidth>200?’200px’:el.offsetWidth+‘px’;counter(’2&prime;);}(this));这句。
</p>
现在YAHOO,MSN等国际门户网站,网易,新浪等国内门户网站,和主流的WEB2.0网站,均采用DIV+CSS的框架模式,更加印证了DIV+CSS是大势所趋。
透明 该用户已被删除
沙发
发表于 2015-1-17 19:19:38 | 只看该作者
足见市场的反响和MACROMEDIA公司对它们的自信。说到Dreamweaver8我们应该了解一下网页编辑器的发展过程,随着互联网(Internet)的家喻户晓。
乐观 该用户已被删除
板凳
发表于 2015-1-26 21:52:35 | 只看该作者
这个过程其实就是交流的过程。所有的这些都需要花时间。在面对完全陌生的软件时,就要多花时间对其产生初步的印象。此外,多操作也是非常重要的。
若天明 该用户已被删除
地板
发表于 2015-2-5 04:04:02 | 只看该作者
以上大概就是文字图片的一些链接方法,通过学习Dreamweaver、练习让我对dreameaver8有了进一步的认识,他其实是一款很好的建立Web站点和应用程序的软件。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。
变相怪杰 该用户已被删除
5#
发表于 2015-2-11 05:07:29 | 只看该作者
Dreamweaver是集网页制作和管理网站于一身的所见即所得网页编辑器,在编辑时能同时看到源码和设计界面,非常方便新手学习制作网页。
飘灵儿 该用户已被删除
6#
发表于 2015-3-1 22:36:37 | 只看该作者
还可以在Dreamweaver常用工具中选择超级链接,完成相应的填写即可。
7#
发表于 2015-3-11 02:31:32 | 只看该作者
所见则所得网页编辑器的优点就是直观性,使用方便,容易上手.
谁可相欹 该用户已被删除
8#
发表于 2015-3-17 20:59:41 | 只看该作者
Dreamweaver在所见即所得添加链接,也可以先选中文字或图片然后在属性栏中的链接栏后的一个小圆圈,用鼠标点击小圆圈按住不放拖动出箭头然后指向文件即可。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 03:48

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表